我在Ubuntu 12.04 LTS (Precise穿山甲)上安装了LAMP,然后在phpMyAdmin上设置根密码。我忘记密码了,现在无法登录。当我试图通过终端更改密码时,我得到:
错误2002 (HY000):无法通过套接字连接到本地MySQL服务器 ' / var /运行/ mysqld / mysqld。袜子”(2)
我该如何解决这个问题?我无法打开LAMP,卸载它或重新安装它。
我在Ubuntu 12.04 LTS (Precise穿山甲)上安装了LAMP,然后在phpMyAdmin上设置根密码。我忘记密码了,现在无法登录。当我试图通过终端更改密码时,我得到:
错误2002 (HY000):无法通过套接字连接到本地MySQL服务器 ' / var /运行/ mysqld / mysqld。袜子”(2)
我该如何解决这个问题?我无法打开LAMP,卸载它或重新安装它。
当前回答
This error can also occur if you try to change the directory where the database is stored, but imput the wrong directory in the configuration file (like a typo in the second drive as D instead of the accurate D_). Instead of telling you the typo directory does not exist, it will tell you that you lack permission to access it (leading you to try to change the permissions for the typo directory, which it will let you do). So if you get this error while changing directories, double check the configuration file and make sure you don't have a typo.
其他回答
试试这个:
mysql -h 127.0.0.1 -P 3306 -u root -p <database>
另外(看看它是否在运行):
telnet 127.0.0.1 3306
可能只是my.cnf文件中的错误配置,在/etc/某处(取决于Linux发行版)。
您应该验证/var/run/mysqld.的组的所有者如果不是mysql。Mysql,然后做:
su root
chown mysql.mysql /var/run/mysqld
尝试重新启动服务器
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 成功!
如果您的server/db工作正常,突然出现这个问题,那么只需重新启动您的db服务器。 对于Centos,我使用以下命令和我的问题“连接拒绝”“无法通过套接字连接到本地mysql”修复
sudo systemctl start mysqld
以我为例,我做了一些研发工作:
我能够连接到MySQL使用
root-debian#mysql -h 127.0.0.1 -u root -p
但是在mysql中-u root -p行不通。
我在my.cnf中没有找到任何绑定地址。所以我注释了参数socket=/var/lib/mysql/mysqld。袜子在我的。cnf导致我登录的问题。
重新启动服务后,一切正常:
root@debian:~# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 5
Server version: 5.6.19 MySQL Community Server (GPL)