【问题标题】:Unable to connect mysql and getting socket error无法连接mysql并出现socket错误
【发布时间】:2015-04-19 06:53:47
【问题描述】:

我已经在我的 linux 服务器上安装了 xampp。但是在命令提示符下连接期间,我遇到了错误。请帮我修复错误。

linux-pott:/opt/lampp/var/mysql # mysqladmin -u root -p status
Enter password: 
mysqladmin: connect to server at 'localhost' failed
error: 'Can't connect to local MySQL server through socket'/var/run/mysql/mysql.sock' (2)'
Check that mysqld is running and that the socket: '/var/run/mysql/mysql.sock' exists!

【问题讨论】:

  • 在控制台上尝试netstat -tulpen | grep 3306。如果“在线”,这将打印 mysql 的打开/侦听端口。您应该会看到如下内容:tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 。如果您没有得到任何结果,则 mysql-server 未在默认端口上列出,因此您无法连接。此外:这不是直接的PHP问题。
  • 运行后我得到了你在上面所说的输出。 bkash@linux-pott:~/Desktop/USSD/outputs> netstat -tulpen | grep 3306 (并非所有进程都可以识别,不会显示非拥有进程信息,您必须是 root 才能看到所有内容。) tcp 0 0 :::3306 :::* LISTEN 60 96490 -
  • 好的,那么服务器已启动并正在侦听。尝试mysql -uroot -pYOURPASS(是的,没有空格)只是为了访问服务器并验证连接是否可行。
  • 你能给我们看看日志吗:/var/log/mysqld.log.?
  • @Serjoschaa:运行命令后,我得到了我在问题中提到的错误。

标签: php mysql linux sockets xampp


【解决方案1】:

我在 CentOS VPS 上遇到过类似的问题。如果 MySQL 在启动后无法启动或一直崩溃,请尝试以下步骤:

1) 找到 my.cnf 文件(我的位于 /etc/my.cnf)并添加以下行:

innodb_force_recovery = X

用 1 到 6 的数字替换 X,从 1 开始,如果 MySQL 无法启动,则递增。设置为 4、5 或 6 可能会删除您的数据,因此请注意并在之前阅读 http://dev.mysql.com/doc/refman/5.7/en/forcing-innodb-recovery.html

2) 重启 MySQL 服务。只有 SELECT 会运行,此时这很正常。

3) 使用 mysqldump 一个一个地转储所有数据库/模式,不要压缩转储,因为无论如何您都必须在以后解压缩它们。

4) 仅移动(或删除!)/var/lib/mysql 中的 bd 目录,将单个文件保留在根目录中。

5) 停止 MySQL,然后取消注释 1) 中添加的行。启动 MySQL。

6) 恢复 3) 中转储的所有 bd。

祝你好运!

【讨论】:

    猜你喜欢
    • 2013-04-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-03
    • 1970-01-01
    • 2021-07-23
    • 2019-10-08
    • 2018-08-07
    相关资源
    最近更新 更多