MySQL 不会在 CentOS 5.5 和“ERROR 2002”中启动

Posted

技术标签:

【中文标题】MySQL 不会在 CentOS 5.5 和“ERROR 2002”中启动【英文标题】:MySQL won't start in CentOS 5.5 and the "ERROR 2002" 【发布时间】:2012-05-20 03:00:11 【问题描述】:

我想就我遇到的问题寻求帮助。安装 php-soap 后,我的 mysql 服务器突然停止。我不知道为什么它实际上停止了......

由于它已停止,我尝试通过键入以下行来启动它:

# /etc/init.d/mysqld start

在此之后,我收到以下消息:

MySQL Daemon failed to start.
Starting mysqld:                                           [FAILED]

启动mysql似乎失败了。因为我尝试了很多次并且多次得到这个结果。我检查了 mysqlog,这就是我得到的。

==== MYSQL 日志 ====

120511 21:34:43 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
120511 21:34:43 [ERROR] Error message file '/usr/share/mysql/english/errmsg.sys' had only 481 error messages,
but it should contain at least 641 error messages.
Check that the above file is the right version for this program!
/usr/libexec/mysqld: Unknown error 1146
120511 21:34:43 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
120511 21:34:43  InnoDB: Initializing buffer pool, size = 8.0M
120511 21:34:44  InnoDB: Completed initialization of buffer pool
120511 21:34:44  InnoDB: Operating system error number 13 in a file operation.
InnoDB: The error means mysqld does not have the access rights to
InnoDB: the directory.
InnoDB: File name ./ibdata1
InnoDB: File operation call: 'open'.
InnoDB: Cannot continue operation.
120511 21:34:44 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended

其他信息:

操作系统:CentOS 5.5 64bit

Mysql 版本: 抱歉,由于出现此错误,我无法在我的服务器上安装 mysql 版本:

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

谁能帮我解决这个问题?

谢谢你。

【问题讨论】:

【参考方案1】:

看起来您的 mysql 安装没有损坏,因为 /usr/share/mysql/english/errmsg.sys 已被修改为包含少于所需条目数。

我会再次为您的 centos 机器获取 mysql 的安装/src 文件。解压它并从 sql/share/english 中找到文件 errmsg.sys,将其复制到 /usr/share/mysql/english/errmsg.sys 并重新启动 mysqld。另一种选择是在备份您的数据库以确保它们不会被吹走并对其进行复制/备份之后,从 centos repo 重新安装 mysql。

我还会找出对 errmsg.sys 文件进行更改的原因。

【讨论】:

我想尝试在不重新安装 mysql 的情况下修复它(重新安装 mysql 将是我最后的手段)。 然后获取源压缩包,解压缩它,然后将 errmsg.sys 从原始 src 复制到 /usr/share/mysql/english 。确保 src 文件与您的 centos 上安装的 msyql 版本相同。您的 mysql 版本的源代码中的 errmsg.sys 应该包含完整的 errmsg.sys

以上是关于MySQL 不会在 CentOS 5.5 和“ERROR 2002”中启动的主要内容,如果未能解决你的问题,请参考以下文章

在 CentOS 6.2 中将 MySQL 版本从 5.1 更新到 5.5

linux 源码安装mysql 5.5

CentOS 6.5通过yum安装 MySQL-5.5

CentOS 6.*通过yum安装 MySQL-5.5

Centos-6.6源码安装MySQL-5.5

centos MySQL 5.5 源代码 cmake 安装