我对 mysql 的使用还很陌生,所以如果我遗漏了什么,请告诉我。我休了几天假,当我回去工作并尝试登录 phpmyadmin 时,出现了错误 2002 (HY000):无法通过套接字“/var/run/mysqld/mysqld.sock”(2) 连接到本地 MySQL 服务器。
我从来没有遇到过这个问题,所以我浏览了一下以寻找解决方案。我尝试了一些方法,但我担心我接触得太多。我无法解决问题,然后我意识到我有一些实现要做,我认为它们可能对 mysql 有帮助。然后我还意识到,当我第一天进行这些实现时,它们由于空间不足而停止了,所以我重新启动了。然后,当系统配置 mysql 时,它没有前进。我等了很长时间,然后我只是停止它并重新启动计算机。之后,我只是尝试使用 sudo apt-get remove mysql-server-5.1 卸载 mysql,然后再次安装它,但它不起作用。现在我有两个问题:
- 您认为发生了什么?我应该完全删除 mysql 吗?我该怎么办?
- 我担心丢失数据库,有什么方法可以恢复数据吗?
提前非常感谢您。
- - - - - -编辑 - - - -
以下是消息:
alfonso@alfonso-laptop:/$ tail -F /var/log/syslog | grep
Feb 15 15:08:01 alfonso-laptop init: mysql post-start process (15192) terminated with status
Feb 15 15:08:01 alfonso-laptop init: mysql main process (15263) terminated with status
Feb 15 15:08:01 alfonso-laptop init: mysql main process ended,
Feb 15 15:08:31 alfonso-laptop init: mysql post-start process (15264) terminated with status
Feb 15 15:08:31 alfonso-laptop init: mysql main process (15358) terminated with status
Feb 15 15:08:31 alfonso-laptop init: mysql main process ended,
Feb 15 15:09:01 alfonso-laptop init: mysql post-start process (15359) terminated with status
Feb 15 15:09:01 alfonso-laptop init: mysql main process (15447) terminated with status
Feb 15 15:09:01 alfonso-laptop init: mysql main process ended,
Feb 15 15:09:32 alfonso-laptop init: mysql post-start process (15448) terminated with status 1
这是error.log-old的内容
110128 13:17:20 [Note] /usr/sbin/mysqld: Normal shutdown
110128 13:17:20 [Note] Event Scheduler: Purging the queue. 0 events
110128 13:17:20 InnoDB: Starting shutdown...
110128 13:17:22 InnoDB: Shutdown completed; log sequence number 0 590872
110128 13:17:22 [Note] /usr/sbin/mysqld: Shutdown complete
110214 2:08:18 [Note] Plugin 'FEDERATED' is disabled.
110214 2:08:19 InnoDB: Started; log sequence number 0 590872
110214 2:08:19 [Note] Event Scheduler: Loaded 0 events
110214 2:08:19 [Note] /usr/sbin/mysqld: ready for connections.
Version: '5.1.41-3ubuntu12.8' socket: '/var/run/mysqld/mysqld.sock' port: 3306 (Ubuntu)
--> 一些类似问题的链接
- https://bugs.launchpad.net/ubuntu/+source/mysql-dfsg-5.1/+bug/573318
- http://www.linuxquestions.org/questions/linux-newbie-8/lamp-install-on-lucid-mysqld-sock-missing-mysql-terminating-status%3D1-853152/
这似乎是权限问题...但我不知道应该更改哪些权限...
已解决 -->mysql 错误 2002“无法连接到套接字”
答案1
sudo mysqld start
您可以尝试在终端中输入命令
检查主机设置,将其设置为“localhost”,否则当您的 IP 地址发生变化时将无法访问服务器。
答案2
- 查看 mysql 日志,查看是否有特定错误。可能在 /var/logs/ 的某个地方。
- 您的数据库可能位于 /var/lib/mysql/ 目录中。如果其中有文件和目录,您可能没有丢失任何东西。我要做的第一件事就是将该目录中的所有内容复制到安全的地方。
根据你在日志中找到的内容,你应该查看这个问题如何恢复失败的 mysql 数据库。
答案3
通常 apt-get remove 不会删除数据或配置文件(与 purge 相反),如果您使用的是 Debian,您可以在 /var/lib/mysql 目录中找到数据库文件,如果此目录不为空,您应该做的第一件事就是使用 制作备份副本rsync -av /var/lib/mysql /path/to/backup/
。之后,您可以尝试恢复安装。
如果您删除了该软件包,则应重新安装它,然后查看 /var/log 目录中是否有任何错误消息。您可以启动一个终端并以 root 身份输入 tail -F /var/log/syslog | grep mysql
,然后在另一个终端上尝试启动 mysql 服务器/etc/init.d/mysql start
并在第一个窗口中查找错误消息。然后将它们发布在这里。
答案4
您是否已验证 MySQL 服务器正在运行?
使用 进行验证ps -ef | grep mysql
。