我的问题开始与我不能登录根在我的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。但我注意到它并没有提示我输入密码。它不是应该要求输入管理员密码吗?


当前回答

当我在数字海洋上调整液滴大小时,我有这种类型的问题。我已经升级了mysql版本,适合我。这是我应用的教程- https://serverpilot.io/community/articles/how-to-upgrade-mysql-5.5-to-5.6-on-ubuntu-14.04.html

其他回答

为什么会出现这个错误

我收到了mysql库的新更新,所以在得到这些错误后,我更新了我的Kubuntu操作系统。


命令我尝试和我如何修复它。

mysql -服务器运行正常,但当我试图连接它的给予

Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'.

我检查了/var/run/mysqld/mysqld.sock'。这个目录中。 我的文件根本不存在。

我也尝试了这些命令来连接,但对我没用。

 mysql -h 127.0.0.1 -P 3306 -u root -p

 sudo service mysql start

在浪费了大约2个小时后,我找到了解决方案

sudo apt-get clean
sudo apt-get update
sudo apt-get upgrade -f

从那以后,一切都为我解决了。

我也有同样的问题,几个小时后我发现了这个: 我把它添加到/etc/mysql/my.cnf路径

[mysql]
innodb_force_recovery = 1

如果你使用mysqld,请使用以下命令:

[mysqld]
innodb_force_recovery = 1

我在Ubuntu 16.04 https://askubuntu.com/questions/172514/how-do-i-uninstall-mysql中卸载了mysql

我重新安装了mysql https://www.digitalocean.com/community/tutorials/how-to-install-mysql-on-ubuntu-16-04

这似乎奏效了。

由于多次安装mysql而出现此错误。 执行如下命令:

ps -A|grep mysql

通过以下命令终止进程:

sudo pkill mysql

然后运行命令:

ps -A|grep mysqld

也可以通过运行:

sudo pkill mysqld

现在你已经完全设置好了,只需运行以下命令:

service mysql restart
mysql -u root -p

又有很好的工作mysql吗

你可以找到mysqld。如果您已经安装了mysql-server,请在/var/run/mysqld中插入 通过sudo apt-get安装mysql-server