當前位置: 首頁>>技術教程>>正文


mysql 服務器啟動失敗

, ,

問題描述

我正在運行 ubuntu 服務器。當我嘗試登錄 mysql(正在運行)時,出現以下錯誤

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

但是 mysqld.sock 文件在 /var/run/mysqld 文件夾中不存在。在執行 ps aux | grep mysql 命令時,我意識到 mysql 服務器沒有運行。

然後我嘗試使用重新啟動mysql服務器

service mysql start
service mysql restart
/etc/init.d/mysql start

但是,啟動過程在所有 3 種情況下都失敗了。 /var/log/mysql/mysql.log/var/log/mysql/mysql.err 文件為空。

但是 /var/log/error.log 顯示以下信息:

140425 12:49:05 [Warning] Using unique option prefix myisam-recover instead of myisam-recover-options is deprecated and will be removed in a future release. Please use the full name instead.
140425 12:49:05 [Note] Plugin 'FEDERATED' is disabled.
140425 12:49:05 InnoDB: The InnoDB memory heap is disabled
140425 12:49:05 InnoDB: Mutexes and rw_locks use GCC atomic builtins
140425 12:49:05 InnoDB: Compressed tables use zlib 1.2.8
140425 12:49:05 InnoDB: Using Linux native AIO
140425 12:49:05 InnoDB: Initializing buffer pool, size = 3.0G
140425 12:49:05 InnoDB: Completed initialization of buffer pool
InnoDB: Error: log file ./ib_logfile0 is of different size 0 5242880 bytes
InnoDB: than specified in the .cnf file 0 26214400 bytes!
140425 12:49:05 [ERROR] Plugin 'InnoDB' init function returned error.
140425 12:49:05 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
140425 12:49:05 [ERROR] /usr/sbin/mysqld: unknown variable 'record_buffer=64M'
140425 12:49:05 [ERROR] Aborting

140425 12:49:05 [Note] /usr/sbin/mysqld: Shutdown complete

最佳方法

打開終端( Ctrl + Alt + t )並執行以下操作:

sudo service mysql stop
sudo rm /var/lib/mysql/ib_logfile0
sudo rm /var/lib/mysql/ib_logfile1

並注釋掉 /etc/mysql/my.cnf [1] 中的 record_buffer=64M

然後使用以下命令重新啟動 msyql:

sudo service mysql restart

(Source)

次佳方法

這解決了我的問題:

mkdir /var/run/mysqld

touch /var/run/mysqld/mysqld.sock

chown -R mysql /var/run/mysqld

/etc/init.d/mysql restart

第三種方法

我通過以下方式解決了這個問題:

chown -R mysql:mysql /var/lib/mysql
mysql_install_db --user=mysql -ldata=/var/lib/mysql/

在另一種情況下,我遇到它是因為 mysql 守護程序無法啟動。所以用命令 – mysqld start 啟動守護進程,然後嘗試啟動服務。

參考資料

本文由Ubuntu問答整理, 博文地址: https://ubuntuqa.com/zh-tw/article/12039.html,未經允許,請勿轉載。