我在Ubuntu 12.04 LTS (Precise穿山甲)上安装了LAMP,然后在phpMyAdmin上设置根密码。我忘记密码了,现在无法登录。当我试图通过终端更改密码时,我得到:

错误2002 (HY000):无法通过套接字连接到本地MySQL服务器 ' / var /运行/ mysqld / mysqld。袜子”(2)

我该如何解决这个问题?我无法打开LAMP,卸载它或重新安装它。


当前回答

我通过在mysqld部分([mysqld])中删除/etc/mysql/my.conf中的这一行来解决这个问题:

default-character-set=utf8

重新启动,它可以正常工作。

其他回答

现在有用了……

我已经使用Homebrew在Mac OS X上安装MariaDB 10.1.16教程来解决这个问题。

但是不要忘记杀死或卸载MariaDB的旧安装。

尝试重新启动服务器

sudo /usr/local/mysql/support-files/mysql.server start

如果出现任何错误,请按照以下步骤进行操作

mysqld

您将看到下面的日志。注意MySQL目录中突出显示的部分

mysqld: Can't change dir to '/usr/local/mysql-5.7.14-osx10.11-x86_64/data/' (Errcode: 13 - Permission denied) 2016-10-04T14:09:19.392581Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details). 2016-10-04T14:09:19.392847Z 0 [Warning] Insecure configuration for --secure-file-priv: Current value does not restrict location of generated files. Consider setting it to a valid, non-empty path. 2016-10-04T14:09:19.392921Z 0 [Note] mysqld (mysqld 5.7.14) starting as process 1402 ... 2016-10-04T14:09:19.397569Z 0 [Warning] Can't create test file /usr/local/mysql-5.7.14-osx10.11-x86_64/data/Sudharshan.lower-test 2016-10-04T14:09:19.397597Z 0 [Warning] Can't create test file /usr/local/mysql-5.7.14-osx10.11-x86_64/data/Sudharshan.lower-test 2016-10-04T14:09:19.397712Z 0 [ERROR] failed to set datadir to /usr/local/mysql-5.7.14-osx10.11-x86_64/data/ 2016-10-04T14:09:19.397776Z 0 [ERROR] Aborting 2016-10-04T14:09:19.397795Z 0 [Note] Binlog end 2016-10-04T14:09:19.397925Z 0 [Note] mysqld: Shutdown complete

sudo chown -R _mysql:_mysql /usr/local/mysql-5.7.14-osx10.11-x86_64

注意前面日志中的MySQL文件夹路径/usr/local,在我的例子中,它是MySQL -5.7.14-osx10.11-x86_64,您必须根据您在计算机上获得的日志更新它,以提供对MySQL目录的读访问

sudo /usr/local/mysql/support-files / mysql。服务器启动

启动MySQL 成功!

在Debian服务器Jessie上,我的工作解决方案是简单地做

service mysql restart
service mysql reload

作为root用户

在我的例子中,问题是我所有数据库的页面损坏(检查mysql错误日志)。

我用强制恢复InnoDB解决了这个问题。诀窍是编辑/etc/mysql/my.cnf并添加

innodb_force_recovery = 4

略低于

[mysqld]

然后重新启动mysql。 在检查一切工作正常后,再把线移回来。

如果你使用Ubuntu,这可能是特权的问题。

检查您的目录权限。在root组中是不够的,还可以在MySQL写入的目录上使用chmod(例如,/var/run/mysqld/用于创建mysqld. exe)。pid文件)。

这对我很有帮助。