MySQL 无法启动!

And*_*rew 12 mysql ubuntu

尝试从命令行登录 MySQL 时出现此错误:

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
Run Code Online (Sandbox Code Playgroud)

我认为这意味着 MySQL 尚未启动。所以我尝试启动它:

sudo /etc/init.d/mysql start
Run Code Online (Sandbox Code Playgroud)

我收到这条消息:

* Starting MySQL database server mysqld [fail] 
Run Code Online (Sandbox Code Playgroud)

我在哪里查看/我该怎么做才能启动 MySQL?我正在运行 Ubuntu 8.04 并通过 apt-get 安装了 MySQL。我已经能够开始使用它并使用它几次,所以我不知道它为什么停止工作。

更新:运行 sudo /etc/init.d/mysql status 时,我收到消息:

* MySQL is stopped.
Run Code Online (Sandbox Code Playgroud)

更新 #2:我的日志文件(/var/log/mysql.log 和 /var/log/mysql.err)是空的(如果这些是正确的)

Kyl*_*ots 10

在 Ubuntu 12.04 上,我在 /etc/mysql/my.cnf 文件中更改缓冲区大小后遇到了同样的问题,我想我有点忘乎所以。无论如何,在尝试将它们改回默认设置后,MySQL 仍然无法启动。

我尝试了几种不同的方法来解决它,我确实注意到 /var/run/mysql/mysql.sock 丢失了。这可能是一个问题,因此您可以检查那里,如果它丢失,您可以通过执行以下操作来替换它:

sudo touch /var/run/mysql/mysql.sock
sudo chown mysql /var/run/mysql/mysql.sock
Run Code Online (Sandbox Code Playgroud)

这并没有解决我的问题!但它可能对某些人来说。

我必须做的是完全重新安装 MySQL,为此您需要使用 sudo 命令。彻底删除和重新安装MySQL的步骤如下:

删除 MySQL

sudo apt-get --purge remove mysql-server
sudo apt-get --purge remove mysql-client
sudo apt-get --purge remove mysql-common
Run Code Online (Sandbox Code Playgroud)

您可以选择使用 aptitude,将apt-get --purge替换为aptitude

清理

sudo apt-get autoremove
sudo apt-get autoclean
Run Code Online (Sandbox Code Playgroud)

删除 MySQL 目录

sudo rm -rf /etc/mysql
Run Code Online (Sandbox Code Playgroud)

安装 MySQL

sudo apt-get install mysql-server mysql-client
Run Code Online (Sandbox Code Playgroud)

MySQL现在应该正在运行,您可以通过执行以下操作来检查:

sudo service mysql status
Run Code Online (Sandbox Code Playgroud)

你应该看到

mysql start/running, process xxxxx
Run Code Online (Sandbox Code Playgroud)

希望这会有所帮助,并认为我可能会在执行此操作后添加所有仍然可用的数据库和表,但是我确实必须为这些数据库重新创建用户和密码。

注意:如果你有 php 的 mysql 扩展,你也需要重新安装它。

sudo apt-get install php5-mysql
Run Code Online (Sandbox Code Playgroud)


inn*_*naM 2

查看您的日志文件。至少在 Debian 上,您可以获取 mysql* 日志/var/log

  • mysql.err 和 mysql.log 均为空 (3认同)