因此,我在 Windows 7 主机上的 ubuntu 服务器(命令行)VirtualBox 上运行 mysql。在虚拟机中,我通过注释掉以下行来更改 /etc/mysql/my.cnf 文件
bind-address = 127.0.0.1
所以看起来
#bind-address = 127.0.0.1
然后我像这样重新启动了服务器:
perrin@LinuxServer1:~$ sudo /etc/init.d/mysql restart
[sudo] password for perrin:
* Stopping MySQL database server mysqld [ OK ]
* Starting MySQL database server mysqld [ OK ]
在此之后,每当我尝试连接到 mysql 时,都会出现此错误,如下所示:
perrin@LinuxServer1:~$ mysql -u root -p
Enter password:
Error 2002 (HY000): Can't connect to local MySQL server through socket '/var/
run/mysqld/mysqld.sock' (2)
我寻求帮助并发现我的 MySQL 服务器没有运行,即使它[ OK ]
在重新启动时已经声明过。(说谎的 POS)
因此我尝试同时使用两者来启动它,start
如下restart
所示:
perrin@LinuxServer1:~$ sudo /etc/init.d/mysql start
* Starting MySQL database server mysqld [fail]
perrin@LinuxServer1:~$ sudo /etc/init.d/mysql restart
* Stopping MySQL database server mysqld [ OK ]
* Starting MySQL database server mysqld [fail]
于是我回到 my.cnf 并取消注释该bind-address = 127.0.0.1
行,这样一切都与之前完全一样,然后再次尝试启动/重新启动服务器。它再次以完全相同的方式失败。
我在整个网络上寻求帮助,发现人们遇到了一些类似的问题,但最终都没有任何帮助,也没有给我任何可以解决问题的提示。
有人知道这是怎么回事吗?我被难住了。
答案1
在 AskUbuntu 上的相关问题列表中,我注意到一个问题标题为“12.04 - MySql 无法通过使用服务 mysql start 启动”。
阅读此文后我意识到 MySQL 可以通过以下方式停止/启动/重新启动:
perrin@LinuxServer1:~$ sudo service mysql stop
或者
perrin@LinuxServer1:~$ sudo service mysql start
或者
perrin@LinuxServer1:~$ sudo service mysql restart
这些方法对我来说仍然有效,即使在注释掉bind-address
my.cnf 中的行之后,我现在可以在启动/重新启动后再次登录 mysql。
我不知道为什么 init.d 方法不起作用,这让我很烦恼。:(