解决无法远程连接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。

相关推荐
编程乐学几秒前
基于Android Studio 蜜雪冰城(奶茶饮品点餐)—原创
android·gitee·android studio·大作业·安卓课设·奶茶点餐
hai4117419629 分钟前
mysql 与postgresql 的区别(gpt4)
数据库·mysql·postgresql
知识分享小能手19 分钟前
mysql学习教程,从入门到精通,SQL 删除数据(DELETE 语句)(19)
大数据·开发语言·数据库·sql·学习·mysql·数据开发
宇宙第一小趴菜29 分钟前
虚拟机安装xubuntu
linux·服务器·vmware
冰镇毛衣39 分钟前
2.4 数据库表字段约束
数据库·sql·mysql
problc1 小时前
Android中的引用类型:Weak Reference, Soft Reference, Phantom Reference 和 WeakHashMap
android
IH_LZH1 小时前
Broadcast:Android中实现组件及进程间通信
android·java·android studio·broadcast
去看全世界的云1 小时前
【Android】Handler用法及原理解析
android·java
Run_Snails1 小时前
hcia-openEuler V1.0师资题库-试卷3
运维·服务器·网络
翔云API1 小时前
身份证识别接口的应用场景和作用
运维·服务器·开发语言·自动化·ocr