mysql - 错误 : 'Can' t connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)' -- Missing/var/run/mysqld/mysqld. socks

标签 mysql linux ubuntu

我的问题开始于我无法再以 root 身份登录我的 mysql 安装。我试图在没有打开密码的情况下运行 mysql...但是每当我运行命令时

# mysqld_safe --skip-grant-tables &

我永远不会收到提示。我试图关注 these instructions to recover the password .

屏幕看起来像这样:

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-servermysql-client。但我注意到它不会提示我输入密码。不是应该要求管理员密码吗?

最佳答案

试试这个命令,

sudo service mysql start

关于mysql - 错误 : 'Can' t connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)' -- Missing/var/run/mysqld/mysqld. socks ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57995831/

相关文章:

linux - 自动重新创建许多不同的链接到重命名的目录或文件

apache - 如何忽略 URL 末尾的 URL

wordpress - digitalocean 中的网站不向电子邮件发送信件

c# - Windows-phone-7、MYSQL 数据库和 PHP 之间的通信,使用 JSON 数组?

MySQL 按字段和父项排序

mysql - 分布式事务中的MongoDB和MySQL事务

mysqli 扩展缺少 debian

mysql - 将具有组合键的大型且频繁更新的 MySQL 表移动到 HDFS

linux - Ubuntu 中的 ChucK 音频输入/输出错误

linux - 如何使用 awk 创建包含字段范围的 csv 文件