我的问题始于我无法再以root身份登录到mysql。我正试图在没有开启密码的情况下运行mysql,但每次输入命令时都会出问题。
# mysqld_safe --skip-grant-tables &
我从未收到提示。 我试图按照这些恢复密码的说明进行操作。
屏幕看起来就像这样:
root@jj-SFF-PC:/usr/bin# mysqld_safe --skip-grant-tables
120816 11:40:53 mysqld_safe Logging to syslog.
120816 11:40:53 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
我没有收到提示开始输入SQL命令以重置密码。
当我通过按下 CTRL + C 来终止它时,我会收到以下消息:
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!
如果我重试命令并等待足够长的时间,我会得到以下一系列消息:
root@jj-SFF-PC:/run/mysqld# 120816 13:15:02 mysqld_safe Logging to syslog.
120816 13:15:02 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
120816 13:16:42 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
[1]+ Done mysqld_safe --skip-grant-tables
root@jj-SFF-PC:/run/mysqld#
但是,如果我尝试通过以下方式以root身份登录:
# mysql -u root
我收到了以下错误信息:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
我检查了一下,发现
/var/run/mysqld/mysqld.sock
文件不存在。文件夹是存在的,但是文件不在。此外,我不知道这是否有帮助,但我运行了
find / -name mysqld
命令,它返回了:/var/run/mysqld - folder
/usr/sbin/mysqld - file
/run/mysqld - folder
我不知道这是否正常,但是我包含这些信息以便帮助您。
最终我决定卸载并重新安装mysql。
apt-get remove mysql-server
apt-get remove mysql-client
apt-get remove mysql-common
apt-get remove phpmyadmin
在按照上述相同顺序重新安装所有软件包后,在安装phpmyadmin期间,我收到了相同的错误提示:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
所以我尝试再次卸载/重新安装。这一次,在我卸载了软件包之后,我也手动将所有mysql文件和目录重命名为它们各自的位置中的mysql.bad
。
/var/lib/mysql
/var/lib/mysql/mysql
/var/log/mysql
/usr/lib/perl5/DBD/mysql
/usr/lib/perl5/auto/DBD/mysql
/usr/lib/mysql
/usr/bin/mysql
/usr/share/mysql
/usr/share/dbconfig-common/internal/mysql
/etc/init.d/mysql
/etc/apparmor.d/abstractions/mysql
/etc/mysql
然后我尝试重新安装mysql-server
和mysql-client
。但是我注意到它没有提示我输入密码。它不应该要求管理员密码吗?
/var/run/mysqld/mysqld.sock
文件。你链接的那个问题有这个文件。 - motorbaby