最佳答案
我的问题开始与我不能登录根在我的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
我是Linux和MySQL的新手,所以我不知道这是否正常。但我把这些信息也包括进来,以防有用。
我最终决定卸载并重新安装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
。但我注意到它并没有提示我输入密码。它不是应该要求输入管理员密码吗?