MySQL远程无法连接(2003)

MySQL远程无法连接(2003),第1张

真是各种不顺利,脑袋都大了

在CentOS7上搭建的测试服务器,远程连接Mysql的时候又报这种错误

然后网上找了各种办法都无效,

试到最后一种,终于发现原来是 防火墙 的原因

Linux 检查防火墙命令 *

systemctl start firewalld # 开启防火墙

systemctl stop firewalld # 关闭防火墙

systemctl status firewalld #检查防火墙状态

在本地实测如下:

我也觉着这样做有些太直接,(言外之意就是要有安全性的考虑)总之我在测试服务器上这些都可以忽略了!

问题就解决了

MySQL我用的是apt安装的,有很多问题,建议大家用二进制程序安装。

问题描述

在服务器上登录MySQL只能用本地的127.0.0.1地址,用服务器本身地址会提示拒绝访问

尝试修改MySQL远程访问权限

修改后发现没有用,MySQL依然拒绝远程访问

查看3306端口

root@sfpql:~# netstat -an|grep 3306

修改MySQL服务地址:

尝试远程连接

telnet sfpql 3306

结语

MySQL远程连接不上是常见问题,一般设置好MySQL的远程访问权限就可以了。

apt安装的MySQL会自己将启动地址设置在本地,同时apt安装的MySQL的服务查看命令是 systemctl status mysql 其他安装方式的常看命令是 systemctl status mysqld

执行 ./bin/mysqld --defaults-file=xxx --initialize-insecure 初始化data目录

./bin/mysqld_safe --defaults-file=/home/xxx/mysql/my.cnf &

运行后netstat -anlp | grep mysql 发现mysqld进程使用的是unix domain socket,没使用tcp/tcp6,没监听端口,看配置文件里面有一行 --skip-grant-tables,看官方文档,如果开启了--skip-grant-tables默认启用--skip-networking,这样就不允许远程连接了,因为--skip-grant-tables不安全。

https://www.oreilly.com/library/view/mysql-8-cookbook/9781788395809/6ea03335-6ff2-4d4f-a008-48c8cf88fd01.xhtml#:~:text=In%20this%20method%2C%20you%20stop,to%20connect%20to%20the%20server .

./bin/mysqladmin shutdown


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8630914.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-19
下一篇 2023-04-19

发表评论

登录后才能评论

评论列表(0条)

保存