连接mysql服务器时出现问题:错误2003(hy000)

0wi1tuuw  于 2021-06-15  发布在  Mysql
关注(0)|答案(4)|浏览(386)

服务器ip:172.16.1.169
mysql用户名:root
密码:x
数据库名称:示例
我正在尝试从客户端(ip 172.16.0.114)访问数据库。服务器和客户端都运行linux的fedora发行版。对于服务器和客户机,需要配置哪些设置?它们应该设置为什么?如何访问特定的数据库(这里称为“示例”)?我试过了,但有个错误:
错误2003(hy000):无法连接到“172.16.1.169”上的mysql服务器。

z9ju0rcb

z9ju0rcb1#

该错误消息是由客户端(而不是服务器)生成的,因为已尝试连接到服务器,但无法访问服务器。
可能的原因有很多:
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> ...

3) 在不同的网络地址上,请检查服务器是否侦听您连接的网络地址树:in文件 /etc/my.cnf 搜索行:

bind_address=127.0.0.1

如果地址是127.0.0.1,则只允许本地连接;如果是172.16.1.0,则无法从172.16.2.连接
4) 检查服务器上是否没有防火墙运行并阻止连接到mysql端口(3306是默认端口);如果是redhat/fedora/centos跑步

service iptables status
wfveoks0

wfveoks02#

我想目的地 mysql 服务器可能使用不同的端口。你必须先找到正确的端口。
一旦你得到正确的端口,你可以连接到它 mysql 通过使用以下命令:

mysql -h 172.16.1.169 -P (port) -u root -p (password)
ojsjcaue

ojsjcaue3#

打开mysql配置文件
sudo vim我的.cnf
确保注解掉以下内容。

跳过外部锁定

跳过网络

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

保存并退出
重新启动mysql服务

hs1rzwqc

hs1rzwqc4#

在mysql配置文件(/etc/mysql/my.cnf)中,注解“#bind address=127.0.0.1”
保存并重新启动mysql服务。

相关问题