我在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,卸载它或重新安装它。
当前回答
在我的情况下,我不能访问mysql,经过3天的研究,我有一个解决方案。这是一个完美的解决方案,因为我已经搜索了/var/run/mysqld/mysqld.我和袜子没有找到文件夹。可以在putty上执行以下命令。
sudo mkdir /var/run/mysqld/
sudo chown -R mysql:mysql /var/log/mysql
sudo mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --socket=/var/run/mysqld/mysqld.sock
sudo /etc/init.d/mysql restart
你会节省宝贵的时间。
其他回答
试试这个:
mysql -h 127.0.0.1 -P 3306 -u root -p <database>
另外(看看它是否在运行):
telnet 127.0.0.1 3306
可能只是my.cnf文件中的错误配置,在/etc/某处(取决于Linux发行版)。
一个建议:总是问MySQL问题是什么。在我的例子中,减少/var/log/mysql/error.log,看到这个:
2015-07-28 12:01:48 23224 [ERROR] /usr/sbin/mysqld: unknown variable 'log_slow_queries=/var/log/mysql/mysql-slow.log'
2015-07-28 12:01:48 23224 [ERROR] Aborting
它在抱怨,因为我在my.cnf中未注释此选项,但在注释此选项后,它启动时没有任何问题。
我也有这个问题,但这些答案都帮不了我。问题是不同的,但错误是由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服务器计划重新启动,这个错误突然出现。
在Ubuntu 18:10 Linode 1GB Ram中,我遇到了这个错误。在检查了/var/log/mysql/error.log之后,我发现了这个:
[注]InnoDB: innodb_empty_free_list_algorithm由于缓冲池大小较小,修改为legacy。为了使用回退,请将缓冲池至少增加到20MB。
我把我的linode升级到2GB,用sudo mysql重新启动mariadb。接下来运行mysql_secure_admin,但是没有为user-as ususl设置根密码,直到更改根用户使用mysql_native_password插件。 不确定,但似乎袜子是创建的,但由于我的VPS内存不足,服务器关闭了。
对我来说,在CentOS上,我不得不像这样重新启动mariadb服务:
systemctl start mariadb.service