Centos

MySQL 服務未啟動

  • August 13, 2020

我有一個 CentOS 6.6,在系統上已經安裝了一個工作的 Mysql 和一個 mysql 伺服器以及一個正在執行的 mysqld 服務,但我需要一個全新的安裝,所以我通過 yum 完成了整個刪除,並刪除了舊的 Mysql 殘留文件(仔細檢查剩余文件)。

安裝:

[root@sputnik mysql]# yum install mysql mysql-server

安裝成功完成,沒有錯誤。

以幾種不同的方式啟動 Mysql 服務:

[root@sputnik mysql]# service mysqld start

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

[root@sputnik mysql]# mysql

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

   [root@sputnik mysql]# mysqld_safe
   
   150127 11:44:39 mysqld_safe Logging to '/var/lib/mysql/sputnik.fadata.eu.err'.
   150127 11:44:39 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
   150127 11:44:44 mysqld_safe mysqld from pid file /var/lib/mysql/sputnik.fadata.eu.pid ended

/var/lib/mysql/mysql.sock這個文件在系統的任何地方都不存在,通過研究發現是mysqld服務啟動時產生的,但是服務因為失去而拒絕啟動?

/var/lib/mysql/sputnik.fadata.eu日誌文件包含:

150127 11:36:07 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
150127 11:36:07 [ERROR] Can't find messagefile '/usr/share/mysql/english/errmsg.sys'
/usr/libexec/mysqld: Unknown error 1146
150127 11:36:07 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
150127 11:36:07  InnoDB: Initializing buffer pool, size = 8.0M
150127 11:36:07  InnoDB: Completed initialization of buffer pool
150127 11:36:07  InnoDB: Started; log sequence number 0 44233
150127 11:36:07 [ERROR] Aborting

/var/log/mysqld.log不包含任何內容,

/var/run/mysqld是一個空目錄

已經檢查/嘗試過:

  • 我已經嘗試了幾次mysql安全安裝和完全重新安裝,
  • 嘗試手動插入 errmsg.sys 文件,
  • 嘗試手動安裝初始表和數據庫。Mysql 使用者存在並且它是所有者並且對其文件具有必要的權限,
  • 嘗試通過init.d等方式啟動mysql服務和mysqld服務,沒有包含mysql或mysqld的服務在執行。

基本上我嘗試了我在論壇上找到的所有內容,所以問題是我需要安裝並設置 mysql 服務才能執行。這些是我的細節和錯誤。如果我需要發布更多詳細資訊,請告訴我。

終於解決了…

如果有人遇到類似的情況,沒有 mysql-server 安裝沒有通過,在確保安裝步驟正確但服務不會啟動或創建必要的文件後,請參閱以下內容:

問題是: 我查看了我的儲存庫,故障在那裡,我的儲存庫損壞,導致下載和安裝錯誤的 mysql-server 版本或其他東西。

解決方法: 徹底刪除Mysql和所有文件,在http://dev.mysql.com/downloads/repo/yum/找到你正確的repo rpm包下載正確的版本並通過安裝rpm包yum localinstall,驗證是否啟用了正確的repo :

# yum repolist enabled | grep "mysql.*-community.*"

一次只能啟用一個版本!

然後通過yum再次安裝mysql-server

yum install mysql-community-server

再次執行服務 mysqld,它將創建所有必要的文件和表而不會出錯。

引用自:https://unix.stackexchange.com/questions/181322