gpt4 book ai didi

mysql - 连接到 mysql 服务器 : ERROR 2003 (HY000) 时出现问题

转载 作者:IT王子 更新时间:2023-10-29 00:47:13 26 4
gpt4 key购买 nike

  • 服务器ip:172.16.1.169
  • mysql用户名:root
  • 密码:xxxxxxxxxx
  • 数据库名称:例子

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

ERROR 2003 (HY000): Can't connect to MySQL server on '172.16.1.169'.

最佳答案

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

有多种可能的原因:

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 版本 >= 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) 在不同的网络地址上,检查服务器是否监听您正在连接的网络地址:在文件 /etc/my.cnf 中搜索行:

bind_address=127.0.0.1

如果地址是 127.0.0.1 只允许本地连接;如果是 172.16.1.0,则无法从 172.16.2.xxx 连接

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

service iptables status

关于mysql - 连接到 mysql 服务器 : ERROR 2003 (HY000) 时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5218733/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com