阿里云服务器MYSQL数据库开启远程访问

配置mysql的root用户访问权限

  1. 命令行登录 mysql,输入用户名,密码
# mysql -u root -p

2.切换到 mysql库

use mysql;

3.查看用户表,可以看到当前host是localhost,只允许本地访问

mysql> select host,user from user;
+-----------+------------------+
| host      | user             |
+-----------+------------------+
| localhost | root             |
+-----------+------------------+
1 rows in set (0.00 sec)

4.更新user用户表

mysql> update user set `host` = '%'  where `user` = 'root'  LIMIT 1;

5.分配所有访问权限,如果已分配过,该步骤可跳过

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root密码' WITH GRANT OPTION;

6.强制刷新权限

mysql> flush privileges;

7.再次查看用户表,root用户的host变成%,即允许所有的ip远程访问,如果需要指定具体的ip,就写上具体的ip即可

mysql> select host,user from user;
+-----------+------------------+
| Host      | User             |
+-----------+------------------+
| %         | root             |
+-----------+------------------+
1 rows in set (0.00 sec)

修改mysql配置文件my.cnf

1.使用命令netstat -an|grep 3306 查看端口监听状态如下所示,绑定了127.0.0.1,只允许本地访问,需要修改配置文件:

# netstat -an|grep 3306
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN 

2.修改my.cnf,注释掉bind-address 127.0.0.1属性,修改后如下图所示

注释掉bind-address

3.重启mysql服务service mysql restart,再次使用命令netstat -an|grep 3306查看端口监听状态

# netstat -an|grep 3306
tcp        0      0 127.0.0.1:55074         127.0.0.1:3306          TIME_WAIT  
tcp6       0      0 :::3306                 :::*                    LISTEN

配置阿里云安全组规则

登录阿里云进入控制台,依次访问网络和安全->安全组->配置规则,在入方向上开放MySQL监听端口3306即可,如下所示

开放mysql的3306端口

到此,阿里云服务器的MYSQL数据库远程访问开启成功,使用客户端测试连接成功。

推荐阅读更多精彩内容