我的问题开始与我不能登录根在我的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。在各自的位置都不好。

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


当前回答

在我的情况下,问题是在/etc/mysql/my.cnf中的绑定地址,然后:

/ etc / mysql / my . cnf纳米

搜索绑定地址并删除特定的主机IP(不是127.0.0.1)

其他回答

与你们分享一下,我遇到过同样的问题,使用下面的命令解决了

Sudo ln -s /var/lib/mysql/mysql.袜子/var/run/mysqld/mysqld.sock

我硬链接两个位置从my.cnf和错误

我从 在这里输入链接描述

我的情况是,/etc/目录中的mysql被重命名为mysql_bk,只需复制mysql_bk即可

sudo cp -r /etc/mysql_bk/ /etc/mysql/

then

service mysql restart

这应该在终端中完成,在服务器内部,当你的mysql数据库没有正确安装,当你得到这个错误:'无法连接到本地mysql服务器通过套接字'/var/run/mysqld/mysqld。袜子(2)。

停止MySql

sudo /etc/init.d/mysqld stop

重新启动或启动它

sudo /etc/init.d/mysqld restart or sudo /etc/init.d/mysqld start

像这样做一个链接,然后把它交给系统

ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock

运行一个安全安装,它可以指导你配置mysql所需的所有过程

/usr/bin/mysql_secure_installation

我在Ubuntu 14.10上遇到了这个问题

mysql-server不再安装了(不知怎么的它已经被删除了),但我不能安装它,因为有一些损坏的包和依赖关系问题/冲突。

最后我不得不重新安装mysql

sudo apt-get remove mysql-client
sudo apt-get install mysql-server

在ubuntu上使用XAMPP:

在/var/run目录中创建一个名为mysqld的文件夹。可以使用sudo mkdir /var/run/mysqld.命令来完成 创建mysql的符号链接。socks文件是由XAMPP服务器在启动时创建的。可以使用sudo ln -s /opt/lampp/var/mysql/mysql命令。袜子/var/run/mysqld/mysqld.sock。

注意:mysql. exeSock文件是在服务器启动时创建的,在服务器停止时删除的,所以有时你创建的链接可能会出现故障,但只要你使用sudo /opt/lampp/lampp start或任何其他方式启动了服务器,它就应该工作。

启动服务器(如果服务器尚未运行),并尝试再次执行您的程序。

好运!我希望你这次能逃脱惩罚。