windows远程服务器mysql链接

云服务器

因为项目需要一个数据库,所以就在阿里云哪里用云翼计划买了一个小型服务器,虽然小但是也够用

img1

centos 安装mysql

安装mysql

1
2
3
wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql-community-server

设置数据库

启动mysql

1
systemctl start  mysqld.service

查看运行状态

1
systemctl status mysqld.service

修改密码

先查看原始密码

1
grep "password" /var/log/mysqld.log

利用原始密码进入数据库

1
mysql -uroot -p

修改密码规则

1
2
mysql> set global validate_password_policy=0;
mysql> set global validate_password_length=1;

修改密码

1
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';

windows mysql安装

下载 & 解压

链接

配置系统变量

找到bin目录的位置:E:\Config\mysql\mysql-5.7.32-winx64\bin

在环境变量的path中加入路径

安装

生成data文件

以管理员身份运行cmd

进入E:\Config\mysql\mysql-5.7.32-winx64\bin

执行命令:mysqld --initialize-insecure --user=mysqlE:\Config\mysql\mysql-5.7.32-winx64\下和bin同级目录生成data目录

安装mysql

继续执行

1
mysqld -install

启动服务

1
net start MySQL

登录mysql

1
mysql -u root -p

初始数据库没密码,直接回车

修改密码

执行

1
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';

创建数据库

使用ubuntu下的命令就可以自动安装mysql数据库

1
2
3
sudo apt-get install mysql-server
apt-get isntall mysql-client
sudo apt-get install libmysqlclient-dev

安装成功后输入下面指令

sudo netstat -tap | grep mysq

如果是下图这样

img2

那么就成功安装了,下面就是通过mysql -u root -p就可以登录mysql数据库

img3

注意,在第一次登录mysql时输入的密码即为你的初始密码,不输就是空

远程连接

ubuntu下,修改/etc/mysql/mysql.conf.d/mysqld.cnf文件,将

bind-address = 127.9.0.1语句注释掉或者改成bind-address=0.0.0.0

img4

bind-address = 127.9.0.1 意味着只允许本地登录,而把他改成0.0.0.0就代表允许所有的ip登录

但是这还不够,当我们连接远程数据库时,会新建一个root 用户,但是这个root只允许本地登录,不允许远程登陆,我们可以通过

1
2
use mysql
select host, user from user;

来验证发现这个roothost只有一个localhost

这是我们要通过设置来使他允许远程用户登录

mysql 中输入

1
2
3
4
# 允许所有root用户登录
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root用户密码' WITH GRANT OPTION;
# 允许指定ip的root用户登录
GRANT ALL PRIVILEGES ON *.* TO root@'指定的IP地址' IDENTIFIED BY 'root用户密码' WITH GRANT OPTION;

然后重载授权表

FLUSH PRIVILEGES;

这时我们再来验证一下root的权限

img5

这时就应该可以连接上了

但是 ,如果这时还是连接不上,就可能是防火墙的问题,输入ufw disable把防火墙关闭

如果还不行的话,就有可能是阿里云的问题了,因为我用的是一个轻量级的服务器,所以在防火墙中把端口3306打开即可

img6

结束

经过以上步骤mysql的远程连接基本上就可以搞定了

1
mysql -h IP -u root -p

img7

---------Thanks for your attention---------