我在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,卸载它或重新安装它。
当前回答
我也有这个问题,但这些答案都帮不了我。问题是不同的,但错误是由OP描述的。
我检查了MySQL的日志在/var/log/mysql,我看到了这个:
150309 5:03:19 [ERROR] /usr/sbin/mysqld: unknown variable 'lower_case_tables_names=1'
我打开/etc/mysql/my.cnf文件并注释掉#这一行。在此之后,我能够连接到数据库。
说实话,我不知道问题出在哪里。由于维护,linode服务器计划重新启动,这个错误突然出现。
其他回答
您缺少创建/var/run/mysqld目录的权限。所以请创建和 给予许可如下。
Mkdir -p /var/run/mysqld Chown mysql:mysql /var/run/mysqld
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 5.6有关
我在Debian 8 (Jessie)上从MySQL 5.5升级到5.6时遇到了同样的问题。MySQL没有启动(状态显示为active/exited),简单地让服务MySQL启动不起作用,因为我从/var/logs/ MySQL /error.log日志文件中发现:
InnoDB: Initializing buffer pool, size = 128.0M
InnoDB: mmap(136019968 bytes) failed; errno 12
Cannot allocate memory for the buffer pool
内存不够:我只有256 MB的RAM。
在MySQL中有一个设置,performance_schema。默认情况下,它在MySQL 5.5中是关闭的。
https://dev.mysql.com/doc/refman/5.5/en/performance-schema-startup-configuration.html
但在MySQL 5.6中,默认是开启的,只需在/etc/mysql/my.cnf文件中添加以下一行并重新启动,就可以工作了。
performance_schema = off
警告:关闭此设置可能会遇到性能问题,但我猜在开发环境中这不会是问题。
此外,这里有一篇文章,可能有助于配置MySQL使用最小内存,配置MySQL使用最小内存(web存档链接,以防原来的链接在未来过期https://web.archive.org/web/20201112041608/http://www.tocker.ca/2014/03/10/configuring-mysql-to-use-minimal-memory.html)。
发生此问题是因为MySQL服务器未启动。使用以下命令检查活动状态。
service mysql status
如果active状态为stop,请尝试启动MySQL服务器。
service mysql start
我也有同样的问题。如果您的MySQL服务被关闭,有时会发生这种情况。
所以你必须开始:
sudo service mysql start