我正在运行 mysql 服务器。我停止了它,并将其删除 (apt-get remove mysql-server mysql-client)
然后我手动删除了目录:
/var/lib/mysql
/var/run/mysqld
我重新启动了。但是当我输入 mysql 时,我收到以下消息:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
当我输入 service mysql stop 时,我收到相同的错误消息
这意味着 mysql 服务器仍在运行。我该如何彻底摆脱它并停止该进程。
答案1
该错误并不意味着您的 MYSQL 服务器仍在运行。事实上,如果客户端无法连接到它,很可能您没有运行它。
您仍然可以执行客户端:mysql
您可以使用以下命令找到 mysql 所在的包:
dpkg -S `which mysql`
如果您确实想这么做,就将其删除。
答案2
mysql-server 和 mysql-client 通常是依赖于特定版本 mysql 包的虚拟包,例如 mysql-server-5.5 和 mysql-client-5.5。
您可以使用以下命令检查仍安装的 MySQL 包:
dpkg --get-selections | grep -v deinstall | grep "^mysql"
然后,您可以使用此列表来 apt-get 删除您想要的任何软件包。完成后,您可能还想运行 apt-get autoremove 来删除未使用的软件包。
答案3
你会检查你的 mysql 是否真的在运行吗?
请尝试
ps auxw|grep mysql
我进行了一些如下测试,当我关闭 mysql 服务器时,我可能会收到相同的错误。
root@ubuntuz:~# ps auxw|grep mysql
mysql 1361 0.2 1.2 326532 11340 ? Ssl Feb19 162:34 /usr/sbin/mysq d
root 24553 0.0 0.0 5576 800 pts/0 S+ 08:43 0:00 grep --color=auto mysql
root@ubuntuz:~# service mysql stop
mysql stop/waiting
root@ubuntuz:~# mysql -uroot -p mysql
Enter password:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
root@ubuntuz:~# ps auxw|grep mysql
root 25009 0.0 0.0 5576 800 pts/0 S+ 08:48 0:00 grep --color=auto mysql
答案4
是的,它仍在运行。就这么做吧。
sudo apt-get remove --purge mysql*
sudo apt-get autoremove
sudo apt-get autoclean
之后,如果你尝试
sudo mysql -u root -p
最终结果为:
sudo: mysql: command not found