连接mysql服务器时出现问题:错误2003(HY000) 服务器ip:172.16.1.169 mysql用户名:root 密码:XXXXXXXXX 数据库名称:示例

连接mysql服务器时出现问题:错误2003(HY000) 服务器ip:172.16.1.169 mysql用户名:root 密码:XXXXXXXXX 数据库名称:示例,mysql,linux,fedora,mysql-error-2003,Mysql,Linux,Fedora,Mysql Error 2003,我正在尝试从客户端访问数据库(ip 172.16.0.114)。服务器和客户端都在运行Linux的Fedora发行版。服务器和客户端都需要配置哪些设置,以及应该设置哪些设置?如何访问特定数据库(此处为“示例”)?我试过了,但出现了一个错误: 错误2003(HY000):无法连接到“172.16.1.169”上的MySQL服务器 该错误消息由客户端(而不是服务器)生成,因为已尝试连接到服务器,但无法连接到服务器 造成这种情况的原因有多种: 1) 检查mysqld是否正在服务器上运行: ps -ef

我正在尝试从客户端访问数据库(ip 172.16.0.114)。服务器和客户端都在运行Linux的Fedora发行版。服务器和客户端都需要配置哪些设置,以及应该设置哪些设置?如何访问特定数据库(此处为“示例”)?我试过了,但出现了一个错误:

错误2003(HY000):无法连接到“172.16.1.169”上的MySQL服务器


该错误消息由客户端(而不是服务器)生成,因为已尝试连接到服务器,但无法连接到服务器

造成这种情况的原因有多种:

1) 检查mysqld是否正在服务器上运行:

ps -ef | grep mysqld
应该返回如下内容:

root      2435  2342  0 15:49 pts/1    00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/usr/local/var/ --user=mysql  
mysql     2480  2435  0 15:49 pts/1    00:00:00 /usr/local/mysql/libexec/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/var/ --user=mysql ...
要运行守护程序服务,请在redhat/fedora/centos上运行:

service mysqld start
或者在Fedora release>=16上,它依赖于systemd:

systemctl start mysqld.service
以及在系统启动时启用守护程序自动启动:

systemctl enable mysqld.service
2) 检查服务器上运行mysqld的端口:

netstat -lnp | grep mysql
应返回:

tcp        0      0 0.0.0.0:3306 0.0.0.0:* LISTEN 2480/mysqld 
unix  2      [ ACC ]     STREAM     LISTENING     8101   2480/mysqld /tmp/mysql.sock
后者是用于本地连接的套接字,第一个是用于联网的tcp端口(默认值3306)。如果端口不是默认端口,则必须在客户端上设置连接端口。如果使用mysql客户端:

mysql dbname -uuser -ppasswd -P<port> ...
如果地址为127.0.0.1,则只允许本地连接;如果是172.16.1.0,则无法从172.16.2.xxx连接

4) 检查服务器上是否没有防火墙运行并阻止与mysql端口的连接(3306是默认端口);如果是redhat/fedora/centos跑步

service iptables status
  • 打开MySQL配置文件

    sudo vim my.cnf

  • 确保以下内容已注释掉

    #跳过外部锁定

    #跳过网络

    #绑定地址=xx.xx.xx.xx

    保存并退出

  • 重新启动mysql服务


  • 我认为目标
    mysql
    服务器可能使用不同的端口。 您必须首先找到正确的端口

    获得正确的端口后,可以使用以下命令连接到该
    mysql
    服务器:

    mysql -h 172.16.1.169 -P (port) -u root -p (password)
    
    在MySQL配置文件(/etc/MySQL/my.cnf)中,注释“#bind address=127.0.0.1”


    保存并重新启动mysql服务。

    您有不同的网络,例如:172.16.0.*和172.16.1.*。你能从172.16.0.114 ping到172.16.1.169吗?同样的网络…我能ping…同样的问题。[guido的回答][1]解决了我的问题。谢谢。[1] :谢谢,成功了!你能解释这条线的变化吗?这是这个问题的孤独。我在ubuntu 14.04服务器mysql 5.6上也遇到了同样的问题。我对注释“#bind address=127.0.0.1”进行了注释,它对我很有用
    mysql -h 172.16.1.169 -P (port) -u root -p (password)