MySQL错误,缺失的袜子,仍然可以与一切连接,除了命令行

问题描述:

我越来越想通过命令行来连接到MySQL时出现以下错误(Ubuntu的14.04)MySQL错误,缺失的袜子,仍然可以与一切连接,除了命令行

ERROR 2002(HY000):无法通过套接字“/var/run/mysqld/mysqld.sock”连接到本地MySQL服务器(2)

看来,该文件/var/run/mysqld/mysqld.sock丢失。 MySQL仍在运行

% sudo service mysql status              
mysql start/running, process 42703 

我可以通过Python和MySQL Workbench和MySQL Pro与MySQLdb和sqlalchemy连接。我运行一个Python脚本,并得到了以下错误

(1053,“正在关闭服务器”)

我重新启动脚本,一切都跑起来像往常一样,但因为这一点,我一直无法通过命令行连接。不知道发生了什么,或者为什么袜子会消失。我也跑

sudo find/-type s 

并没有发现任何与MySQL相关的信息。

UPDATE:似乎有人注释掉绑定地址127.0.0.1 =(内/etc/mysql/my.cnf),重新启动服务器,意识到这是一个错误,把它放回去,并重新启动。这会删除袜子文件吗?

+0

它们可能通过TCP连接,而不是套接字。 –

+0

尝试通过tcp连接。 'mysql -u $ user -p --host 127.0.0.1 --port 3306' –

+0

我可以用这种方式连接。 – Sal

问题似乎是多个mysql进程正在运行。尝试停止MySQL和mysqld的进程,然后重新启动mysql的:

sudo pkill mysql 
sudo pkill mysqld 
sudo service mysql restart 

现在你应该可以登录到MySQL通常

mysql -u root -p 

,如果它仍然无法正常工作,而你的mysql数据库是本地,尝试更改绑定地址从127.0.0.1到本地主机,然后尝试杀死上面显示的进程。

打开配置文件:

sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf 

认准行方含绑定地址,改变线

bind-address   = localhost 

保存文件并退出

现在杀进程并重新启动mysql(本评论开头的前3个步骤)。