我在 Ubuntu 12.10 上重新安装了 mysql。删除过程正常,但在安装过程中,我尝试设置 root 密码失败(因为,正如终端所说:密码已经设置)。然后我尝试通过 safe_mode 更改密码,但此操作也失败了,因为我无法停止 mysql。
当我尝试
sudo /etc/init.d/mysql stop
我明白了
Rather than invoking init scripts through /etc/init.d, use the service(8)
utility, e.g. service mysql stop
当我尝试
sudo service mysql stop
我明白了
stop: Unknown instance:
当我尝试
sudo mysqladmin shutdown
我明白了
mysqladmin: connect to server at 'localhost' failed
error: 'Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)'
Check that mysqld is running and that the socket: '/var/run/mysqld/mysqld.sock' exists!
请告诉我,在这种死胡同里该怎么办?
答案1
/etc/init.d/service_name stop
仍将停止服务,但会抛出弃用警告,因为service
它也可以停止进程。
也就是说,您service mysql stop
在已经运行之后继续运行/etc/init.d/mysql stop
是行不通的,因为mysql
已经停止,因此出现Unknown instance
错误。
同样,mysqladmin
无法停止 的服务器localhost
,仅仅是因为 的服务器localhost
不再运行 的实例mysql
。
答案2
如果你是系统的root用户,你可以直接终止该进程。
使用命令ps -a
列出所有正在运行的进程。然后找到mysql进程的进程id并使用该命令kill -9 <MYSQL_PID>
将其终止。