我遇到的远程连接虚拟机mysql的相关问题

1.防火墙没有放行3306端口,使用如下命令放行端口
firewall-cmd --add-port=3306/tcp
//注意,这个命令是临时添加放行端口,另外不要忘记在自己物理主机上放行TCP哦
2.如果报错类似于ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.253.128:3306' (111)
netstat -nlp | grep 3306

如果显示类似于下面,3306端口前是:::,那可能不是这个错误

 如果3306端口前是127.0.0.1,那么可能是bind-address搞得鬼

我上网查了很久,才发现/etc/mysql/my.cnf中最后两句使用了!included 

这两句是引用配置,可以看到,配置文件是在/etc/mysql/mysql.conf.d/中

这个文件夹之内有两个文件,一个是mysql.conf,另一个是mysqld.conf(比前面多了个d,是daemon的缩写)

打开后发现mysql.cnf是空的,mysqld.cnf中有我们要找的东西,如下图(已修改)

 

 这里的bind-address本来的值是127.0.0.1,即本机地址,其他地址无法访问,需要将其注释或者改成bind-address=*

这样之后就改好了,别忘了重启MySQL服务哦

命令是

systemctl restart mysql
3.如果报错的格式是pymysql.err.OperationalError: (1130, "192.168.253.128' is not allowed to connect to this MySQL server")    可能有所不一样,但是是1130代码

这种情况很简单,可能是用户的host设置的是本地用户,如下图(以root为例)

 这里的root的host权限是localhost,需要改成‘%‘。(当然,如果你会的话可以再创建之初就设置’%‘)

update user set host='%' where user='root'; 

再查看一下:

 这样就成功了

这些就是我在远程连接的时候遇到的一些小问题,主要是为了方便本人进行回顾的,当然,如果你有需要,请随意,谢谢阅读。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值