阿里云服务器MySQL远程连接
我的服务器是阿里云轻量服务器,Ubuntu操作系统。
安装mysql
1 | sudo apt update |
安装完成后,启动mysql
1 | sudo systemctl start mysql |
查看mysql启动状态
1 | sudo systemctl status mysql |
active(running)表示启动成功
输入命令可以进入mysql-server
1 | mysql -u root -p |
授权mysql远程访问
修改mysql配置文件
进入mysql配置文件,mysql.conf.d文件夹里面有两个配置文件,注意看清楚使用的是哪一个
1 | vim /etc/mysql/mysql.conf.d/mysqld.cnf |
在配置文件中找到一下行,修改服务器IP
1 | bind-address = 127.0.0.1 |
图方便的话可以修改成0.0.0.0
1 | # bind-address = 127.0.0.1 |
修改后如下图所示
重启mysql
1 | sudo systemctl restart mysql |
查看是否设置成功
1 | sudo ss -tuln // |
查看Local Address:Port 3306端口,下图为设置成功。(如果是127.0.0.1:3306 则失败 )
创建可以远程访问的用户
1 | CREATE USER '新用户名'@'%' IDENTIFIED BY '密码'; |
创建好之后可以查询一下,host 的值为% 就可以了
1 | use mysql |
打开防火墙
首先在阿里云防火墙中添加规则,可以直接在应用类中选择MYSQL
设置好后如下图所示
本来我以为设置成功了,但在本地实际连接的时候还是不行
然后我在Ubuntu上安装了防火墙工具检查端口状态
1 | sudo apt firewalld |
查看防火墙状态
1 | systemctl status firewalld |
查看3306端口
1 | firewall-cmd --query-port=3306/tcp |
查询结果是 no
1 | You're performing an operation over default zone ('public'), |
添加3306端口
1 | firewall-cmd --add-port=3306/tcp --permanent |
再次查询
1 | firewall-cmd --query-port=3306/tcp |
1 | You're performing an operation over default zone ('public'), |
恭喜,现在可以在本地连接服务器的数据库了