无法远程连接MySQL

在服务器上新安装的MySQL无法被远程连接,需要以下几步来解决

0.查看端口开放情况

  1. 阿里云将3306端口安全组设置为0.0.0.0/0,对所有人开放
  2. 通过端口扫描工具确认是否可以连接:端口扫描工具
  3. 登陆服务器,使用netstat -an | grep 3306查看MySQL的运行情况以及监听情况,发现3306端口只在本地上被监听
root@iZbp12kno11kc9e34bktfaZ:/var/log/mysql# netstat -an | grep 3306
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN 

1.开放端口并重新启动

  1. 修改MySql配置文件,开放端口监听
vim /etc/mysql/mysql.conf.d/mysqld.cnf 
...
# bind-address          = 127.0.0.1 //注释掉这行
...
  1. 重新启动MySQl
service mysql restart
  1. 查看端口监听状态
netstat -an | grep 3306
tcp6       0      0 :::3306         :::*             ISTEN     

现在外部已经可以访问3306端口了,但是为了连接MySQL,还需要配置一个拥有远程连接权限的账户「默认的root为本地连接权限」

2.配置远程连接用户

// 创建用户
mysql> create user arong;
Query OK, 0 rows affected (0.00 sec)
// 为用户配置全部权限
mysql> grant all privileges on *.* to arong@'%' identified by '123';
Query OK, 0 rows affected, 1 warning (0.00 sec)
// 刷新权限
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

以上完成之后就可以使用远程用户连接服务器MySQL了。

发布了309 篇原创文章 · 获赞 205 · 访问量 30万+

猜你喜欢

转载自blog.csdn.net/pbrlovejava/article/details/103861551