我的问题首先是因为我无法在MySQL安装上以root身份登录。我试着在没有打开密码的情况下运行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命令来重置密码。
当我按下它克特 + 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再来一次。但我注意到它并没有提示我输入密码。不是应该问管理员密码吗?