之前遇到过mysql本地可以连接但是远程连不上的问题,没有记录,今天在云上新申请的服务器上又遇到这个问题,记录一下解决过程。
1.排除网络或防火墙问题
先看是否能ping通远程服务器,ping 192.168.1.211,如果不可以就是网络问题。然后,检查端口是否被防火墙挡住了,telnet 192.168.1.211 3306,如果连接失败,配置防火墙。
配置防火墙,开启3306端口
1 vi /etc/sysconfig/iptables
2 -a input -m state –state new -m tcp -p tcp –dport 3306 -j accept(允许3306端口通过防火墙)
3 /etc/init.d/iptables restart(重启防火墙使配置生效)
2.检查mysql配置
如果开启了防火墙,telnet还是失败,通过netstat查看3306的端口状态:
1 netstat -apn|grep 3306
2 tcp6 0 0 127.0.0.1:3306 :::* listen 13524/mysqld
注意地方,这说明3306被绑定到了本地。检查一下my.cnf的配置,这里可以配置绑定ip地址。
bind-address=addr
不配置或者ip配置为0.0.0.0,表示监听所有客户端连接。
ps:我开启3306端口,并且检查mysql配置之后,telent仍然失败,但是在本机telnet是ok的,再三确认了配置没有问题。后来跟我们的ucloud账号管理员提了一下,才知道ucloud管理后台也需要开启3306端口,用云服务器的留意这个。
3.检查用户访问权限
mysql建用户的时候会指定一个host,默认是127.0.0.1/localhost,那么这个用户就只能本机访问,其它机器用这个用户帐号访问会提示没有权限,host改为%,表示允许所有机器访问。
最后,别忘了重启mysql使配置生效。
1# /etc/init.d/mysql restart
2021年前三季度净利润增长112.90%,紫光国微超级智慧芯版图全面打开
吉林联通联合一汽集团打造助力一汽构建5G全连接智慧工厂的新模式
努比亚M2上手体验测评:特别的小红圈 同价位中的佼佼者
雷曼光电将继续用科技点亮超高清视界
什么是U盘的数据传输率
MySQL远程连不上的问题怎么解决
半导体材料的演进情况
一颗极低功耗无时钟的物联网通用唤醒芯片
iphone12pro参数配置详情
奥迪首次配备数字化QLED技术,有望改善道路安全
TT为什么打不开网页
ASML是如何崛起的?半导体发展的三个历史阶段
MIT研发蔗糖电池 未来手机可能由糖供电
物联网在建筑和设计中应用介绍
中国电信开启WiFi 6新时代,携手伙伴共同筑就智慧家庭生态
广西电网公司计划投资35亿元以上资金用于贵港电网建设改造
西门子1200PLC利用CM-1241模块控制台达VFD-M变频器
生物识别大行其道 汗液也能当密码
三星Galaxy M将有可能成为三星首款使用美人尖设计的手机
数控机床机器人手抓设计注意事项