Mysqld绑定地址不会更改

b1payxdu  于 2022-12-03  发布在  Mysql
关注(0)|答案(1)|浏览(108)

我正在尝试设置远程数据库,但遇到了一个无法解决的问题。也就是说,当我编辑/etc/mysql/mysql.conf.d/mysqld.cnf并将bind-address设置为www.example.com时0.0.0.0,重新启动mysql服务后没有任何React。在此过程中,我甚至多次尝试重新启动计算机。
当我以root身份进入mysql并执行show variables命令时,它仍然在bind-address上显示127.0.0.1。但是,当我执行mysql --help时,它显示(no default value)作为bind-address变量。我尝试了mysql --bind-address=0.0.0.0,但它需要访问权限。如果我提供了它,它只会进入mysql shell,而不会更改bind-address。
如果我尝试telnet MACHINE_IP_ADDRESS 3306,它会显示telnet: Unable to connect to remote host: Connection refused。因此,我通过执行sudo netstat -ltup检查监听服务,它会显示localhost:mysql和 分别表示本地地址和外部地址。最后,如果我执行lsof -Pni :3306,我会得到127.0.0.1:3306 (LISTEN)
知道发生什么事了吗?

ccrfmcuu

ccrfmcuu1#

在我的例子中,我不得不杀死进程(ps -ef | grep mysql找到pid,然后kill -9 <pid i found>),并重新启动它。
由于某种原因,service mysqld restart没有做任何事情,但我认为它做了-我一直在更改配置,而服务器让我相信它正在重新启动(service mysqld stop也没有做任何事情)
一旦我手动关闭它并启动它-my.cnf开始工作。在每个命令后,我运行netstat -l,并观察以下行:

# Changed from:
tcp        0      0 localhost:mysql         0.0.0.0:*               LISTEN

# To:
tcp6       0      0 [::]:mysql              [::]:*                  LISTEN

然后我就能从外面联系上

相关问题