错误 2002 (HY000):无法连接到“192.168.1.15”(115) 上的 MySQL 服务器

问题描述 投票:0回答:7

我正在尝试在我的 Raspberry Pi 4 上创建一个 MySQL 数据库,但进展不太顺利,使用 localhost 可以完美地工作,但我想从同一互联网上的 Windows 10 计算机远程控制它。当我通过这样做创建地址为 192.168.1.15 的用户时:

sudo mysql -u root
CREATE USER 'lasse'@'192.168.1.15' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'lasse'@'192.168.1.15';
FLUSH PRIVILEGES
exit

我尝试使用此再次登录:

mysql -u lasse -h 192.168.1.15 -ppassword // didnt work, error: ERROR 2002 (HY000): Can't connect to MySQL server on '192.168.1.15' (115)
mysql -u user -h 192.168.1.2 -P 3306 -ppassword // didnt work either, same error.

我安装了这些软件包:

mariadb-client
mariadb-server
default-mysql-server
mysql mariadb
7个回答
19
投票

在文件

/etc/mysql/mariadb.conf.d/50-server.cnf
(安装了 MariaDB 的 Raspi-os 2021-03-04)中,您应该将行
"bind-address = 127.0.0.1"
(localhost) 替换为
"bind-address = 0.0.0.0"
(全部)。之后,您应该重新启动 MySQL 服务器:
$ sudo service mariadb restart


5
投票

套接字操作(EINPROGRESS)返回错误115,这意味着您的客户端无法物理连接到指定的服务器和端口。

MariaDB 数据库服务器配置不正确,因为它不接受远程连接。请本地登录并检查以下变量:

SHOW VARIABLES LIKE 'skip_networking'
(结果应该关闭)
SHOW VARIABLES LIKE 'bind-address'
(不应是 127.0.0.1)

由于这些是只读变量,因此您需要在 my.cnf 配置文件中更改它们(或用

#
注释掉它们)。


1
投票

ERROR 2002 是“无法连接”错误。查看/etc/my.cnf,查找监听行。它可能正在监听 localhost 或 127.0.0.1。您需要将其更改为监听 0.0.0.0.


1
投票

有三件事

  1. 您需要将绑定地址设置为 0.0.0.0(或者准确地说是 192.168.1.15)
  2. 您可能需要将防火墙设置为允许端口 3306(或 iptables --flush 作为快捷方式)
  3. 您需要在 mysql 数据库中创建一个全局用户 (root@'%') 或一些带有密码的用户,例如 '[email protected]'

满足所有条件后,您应该能够连接到192.168.1.15上的mysql数据库


1
投票

最有可能的情况是服务器没有侦听端口 3306。就像在both行中一样,您隐式或显式使用端口 3306。因为它是这两行中唯一的常量,最有可能是罪魁祸首。

clientsdefault 端口在 my.ini 的 [client]

 部分指定,
server 使用的端口在 [mysqld]
 部分。它们不一定相同,因此请检查两者。

为了绝对确定服务器上发生了什么 - 假设它是 Linux - 使用它来列出所有侦听端口:

sudo netstat -tnlp
这样,您就不用步行去看文档了。


0
投票
    登录MariaDb服务器并编辑文件/etc/mysql/my.cnf
  1. 编辑行bind-address=YOUR_SERVER_IP
  2. 使用“/etc/init.d/mariadb restart”或“systemctl restart mariadb.service”重新启动服务器

0
投票
查找所有出现的绑定地址并对其进行注释。 /etc/mysql.cnf 以及该目录及其子目录中的所有其他文件。

© www.soinside.com 2019 - 2024. All rights reserved.