解决无法远程连接MySQL服务的问题

① 设置MySQL中root用户的权限:

mysql 复制代码
[root@nginx-dev etc]# mysql -uroot -pRoot@123
mysql> use mysql;
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'Root@123' WITH GRANT OPTION;
mysql> select host,user,authentication_string from user;
+-------------+----------------------+-------------------------------------------+
| host        | user                 | authentication_string                     |
+-------------+----------------------+-------------------------------------------+
| localhost   | root                 | *E32A671056805EBAD613F4090727279564EED370 |
| localhost   | mysql.session        | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE |
| localhost   | mysql.sys            | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE |
| %           | root                 | *E32A671056805EBAD613F4090727279564EED370 |
| %           | myuser               | *FABE5482D5AADF36D028AC443D117BE1180B9725 |
+-------------+----------------------+-------------------------------------------+
mysql> flush privileges;
mysql> quit
[root@nginx-dev etc]# service mysqld restart

第一个root用户只能从本地主机连接,而第二个root用户可以从任何主机连接。

② 检查防火墙有没有屏蔽掉3306端口

shell 复制代码
[root@nginx-dev etc]# systemctl start firewalld
[root@nginx-dev etc]# sudo firewall-cmd --permanent --zone=public --add-port=13306/tcp
Warning: ALREADY_ENABLED: 13306:tcp
success
[root@nginx-dev etc]# sudo firewall-cmd --permanent --zone=public --add-port=3306/tcp
Warning: ALREADY_ENABLED: 3306:tcp
success
[root@nginx-dev etc]# sudo firewall-cmd --zone=public --list-ports
13306/tcp 3306/tcp
[root@nginx-dev etc]# netstat -apn | grep 3306
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      4379/mysqld
tcp        0      0 192.168.1.9:3306        192.168.1.10:65037      ESTABLISHED 4379/mysqld
tcp        0      0 192.168.1.9:3306        192.168.1.10:65041      ESTABLISHED 4379/mysqld

③ 修改配置文件/etc/my.cnf,绑定IP设置为0.0.0.0,即接收任意地址的主机的连接,端口绑定3306。

相关推荐
郭式云源生法则10 分钟前
归档及压缩、重定向与管道操作和综合使用,find精确查找、find处理查找结果、vim高级使用、vimdiff多文件使用
linux·运维·服务器
冻咸鱼13 分钟前
MySQL的配置
mysql·配置
muyouking111 小时前
Tauri Android 开发踩坑实录:从 Gradle 版本冲突到离线构建成功
android·rust
小池先生1 小时前
服务请求出现偶发超时问题,经查服务本身没问题,问题出现在nginx转发。
运维·服务器·nginx
asdfg12589631 小时前
如何判断一个地址是否可以用作主机 IP 地址?
服务器·网络·tcp/ip
Jerry2 小时前
Compose 为元素赋予动画特效
android
虚行2 小时前
Mysql 数据同步中间件 对比
数据库·mysql·中间件
奥尔特星云大使3 小时前
mysql读写分离中间件Atlas安装部署及使用
数据库·mysql·中间件·读写分离·atlas
ytttr8733 小时前
C语言实现Modbus TCP/IP协议客户端-服务器
服务器·c语言·tcp/ip
牛马baby3 小时前
【mysql】in 用到索引了吗?
数据库·mysql·in