设置外部绑定地址后,MySQL 无法启动

Vas*_*lis 7 mysql

我想启用对我的 MySQL 服务器的远程访问,所以我在 [mysqld] 下设置了绑定地址选项,如下所示:

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
bind-address=**.**.**.66
port=3306
# skip-networking
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
Run Code Online (Sandbox Code Playgroud)

当我注释 bind-address 时,服务器正常启动。但是,当我将其注释掉时,它不会重新启动。端口是开放的并且正在侦听。

你能帮我解决这个问题吗?谢谢

Zor*_*che 8

为什么你认为你需要使用bind-address来启用远程访问?

如果没有 bind-address 选项,请尝试运行命令netstat -ntlp | grep 3306。如果您看到如下输出,则 mysql 正在侦听与计算机关联的每个 IP。

tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      23465/mysqld 
Run Code Online (Sandbox Code Playgroud)

如果您想监听特定 IP,您只需要绑定地址。如果您想监听所有地址上的请求,您应该将其注释掉或将其设置为0.0.0.0。某些打包版本的 mysql 带有启动/维护脚本,这些脚本将尝试访问 127.0.0.1 上的 mysql。如果您使用 bind-address 选项,那么 mysql 将只绑定到该特定 IP,而没有其他任何内容,可能会破坏您当前拥有的任何脚本。