MySQL拒绝接受远程连接

Tem*_*vit 14 mysql

我刚刚用 mysql (percona 5.5) 安装了一个新的 ubuntu 服务器,但它拒绝接受来自远程主机的连接

如果我尝试远程连接到此服务器,会发生以下情况:

mysql -h10.0.0.2 -uroot -pmypassowrd
ERROR 2003 (HY000): Can't connect to MySQL server on '10.0.0.2' (111)

telnet 10.0.0.2 3306
Trying 10.0.0.2...
telnet: Unable to connect to remote host: Connection refused
Run Code Online (Sandbox Code Playgroud)

当我检查 mysql 是否侦听远程连接时,我看到了:

sudo netstat -ntlup | grep mysql
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      127018/mysqld 
Run Code Online (Sandbox Code Playgroud)

如您所见,它表示127.0.0.1:3306“我只接受本地连接”。

我检查了我的skip_networkingbind-address变量 - 一切都关闭了:

mysql> show variables like '%skip_networking%';
+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| skip_networking | OFF   |
+-----------------+-------+
1 row in set (0.00 sec)

mysql> show variables like '%bind%';
Empty set (0.00 sec)
Run Code Online (Sandbox Code Playgroud)

我有另一台具有完全相同配置的服务器,它运行良好:

sudo netstat -ntlup | grep mysql
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      2431/mysqld 
Run Code Online (Sandbox Code Playgroud)

这可能是什么原因?如何让 mysql 响应远程连接?

Gui*_*lla 24

尝试添加bind-address = 0.0.0.0到您的[mysqld]部分my.cnf并重新启动mysqld

  • 该文件位于`/etc/mysql/mysql.conf.d/mysqld.cnf` (3认同)

小智 5

我已经mariadb安装了。解决方案是修改bind-address位于/etc/mysql/mariadb.conf.d/50-server.cnf