我正在尝试配置一个新安装的 mysql 服务器来监听端口 3306。
我已经删除了 skip_networking,我有 bind-address=127.0.0.1 并且它完全忽略了配置...
当我尝试时,SHOW VARIABLES LIKE 'skip_networking'
我发现它仍然令人沮丧地处于开启状态。
netstat -na | grep mysql
表示它正在监听一个随机端口,是的,我确实配置了 port=3306...确切的行是:
unix 2 [ ACC ] STREAM LISTENING 45816 /var/run/mysqld/mysq d.sock
在 Ubuntu 12.04.2 上运行
我是否忽略了一些非常明显的事情?
答案1
在 OSX 系统上使用 macports
如果您的服务器正在运行,请首先终止它。
mysqladmin shutdown -u root -p
然后禁用跳过网络:
/opt/local/etc/mysql<YOUR_VERSION>/macports-default.cnf
注释掉以下skip-networking
行:
# skip-networking
最后重新启动服务器。
mysql -u root -p
答案2
问题源于您对 netstat 的使用。线索是您的样本输出以“unix”而不是“tcp”开头(即,它是 Unix 套接字,而不是网络端口)。不要使用“netstat -an”,而是尝试使用“netstat -antup”并 grep 查找“mysql”或“LISTEN”。
换句话说,MySQL 不再监听网络端口。您看到的是 Unix 套接字,无法通过网络访问。(希望这能有所帮助。)
答案3
工作代码!!
转至目录
/etc/mysql
打开my.cnf
文件
sudo nano my.cnf
或者
vi my.cnf
现在评论以下几行
#skip-networking=0
#skip-bind-address