MySQL远程连接不上的解决方法

作者:ynnmnm 时间:2024-01-21 00:34:09 

之前遇到过MySQL本地可以连接但是远程连不上的问题,没有记录,今天在云上新申请的服务器上又遇到这个问题,记录一下解决过程。

1.排除网络或防火墙问题

先看是否能ping通远程服务器,ping 192.168.1.211,如果不可以就是网络问题。然后,检查端口是否被防火墙挡住了,telnet 192.168.1.211 3306,如果连接失败,配置防火墙。
配置防火墙,开启3306端口


vi /etc/sysconfig/iptables
-A INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT(允许3306端口通过防火墙)
/etc/init.d/iptables restart(重启防火墙使配置生效)

2.检查MySQL配置

如果开启了防火墙,telnet还是失败,通过netstat查看3306的端口状态:


netstat -apn|grep 3306
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远程连接不上的解决方法

最后,别忘了重启mysql使配置生效。


# /etc/init.d/mysql restart
标签:MySQL,远程连接
0
投稿

猜你喜欢

  • 使用python脚本实现查询火车票工具

    2021-03-10 05:48:54
  • ASP 禁用清除页面缓存

    2008-07-21 12:43:00
  • Python Pandas读取Excel日期数据的异常处理方法

    2021-12-10 11:22:55
  • 带农历的JavaScript日期时间js代码

    2010-08-01 10:29:00
  • git pull时冲突的几种解决方式(小结)

    2022-10-12 04:53:53
  • BootStrapTable 单选及取值的实现方法

    2024-05-02 16:11:45
  • python的mysql数据库建立表与插入数据操作示例

    2024-01-22 22:27:32
  • MySQL 缓存 Query Cache

    2010-03-13 17:06:00
  • 一文了解MySQL二级索引的查询过程

    2024-01-25 23:24:54
  • python 爬取吉首大学网站成绩单

    2023-08-02 05:57:13
  • sqlserver中将varchar类型转换为int型再进行排序的方法

    2012-07-11 15:34:41
  • Web设计色彩速查表

    2009-12-21 16:24:00
  • chatGPT本地部署、运行和接口调用的详细步骤

    2023-08-31 03:46:31
  • js加密页面代码生成器

    2007-10-12 13:40:00
  • Python利用Beautiful Soup模块搜索内容详解

    2023-10-24 15:53:43
  • C#窗体读取EXCEL并存入SQL数据库的方法

    2024-01-17 18:16:58
  • 详解mysql触发器trigger实例

    2024-01-20 22:28:29
  • python中如何实现链式调用

    2021-05-06 08:42:29
  • 详解Python3 pandas.merge用法

    2023-07-04 20:26:48
  • 实例详解mysql子查询

    2024-01-26 22:22:29
  • asp之家 网络编程 m.aspxhome.com