Linux

突然 mysql/mariadb 無法啟動

  • September 14, 2016

突然,在安裝中簡單地將幾個表添加到數據庫之後……服務將無法啟動。歡迎任何幫助。

systemctl 啟動 mariadb
mariadb.service 的作業失敗。有關詳細資訊,請參閱“systemctl status mariadb.service”和“journalctl -xn”。
systemctl 狀態 mariadb
mariadb.service - MariaDB 數據庫伺服器
已載入:已載入(/usr/lib/systemd/system/mariadb.service;已啟用)
活動:自 2015 年 1 月 7 日星期三 22:47:01 EST 以來失敗(結果:退出程式碼);9 秒前
程序:19037 ExecStartPost=/usr/libexec/mariadb-wait-ready $MAINPID (code=exited, status=1/FAILURE)
程序:19036 ExecStart=/usr/bin/mysqld_safe --basedir=/usr (code=exited, status=0/SUCCESS)
程序:19009 ExecStartPre=/usr/libexec/mariadb-prepare-db-dir %n (code=exited, status=0/SUCCESS)
主 PID:19036(程式碼=退出,狀態=0/成功)

Jan 07 22:47:00 JX-Store systemd[1]: 啟動 MariaDB 數據庫伺服器...
1 月 7 日 22:47:00 JX-Store mysqld_safe[19036]: 150107 22:47:00 mysqld_safe 記錄到“/var/log/mariadb/mariadb.log”。
Jan 07 22:47:00 JX-Store mysqld_safe[19036]: 150107 22:47:00 mysqld_safe 使用 /var/lib/mysql 中的數據庫啟動 mysqld 守護程序
Jan 07 22:47:00 JX-Store mysqld_safe[19036]: 150107 22:47:00 來自 pid 文件 /var/run/mariadb/mariadb.pid 的 mysqld_safe mysqld 結束
Jan 07 22:47:01 JX-Store systemd[1]: mariadb.service: 控制程序退出,code=exited status=1
Jan 07 22:47:01 JX-Store systemd[1]:無法啟動 MariaDB 數據庫伺服器。
Jan 07 22:47:01 JX-Store systemd[1]:單元 mariadb.service 進入失敗狀態。
Jan 07 22:47:00 JX-Store systemd[1]: 啟動 MariaDB 數據庫伺服器...
-- 主題:單元 mariadb.service 已開始啟動
-- 定義者:systemd
-- 支持:http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- 單元 mariadb.service 已開始啟動。
1 月 7 日 22:47:00 JX-Store mysqld_safe[19036]: 150107 22:47:00 mysqld_safe 記錄到“/var/log/mariadb/mariadb.log”。
Jan 07 22:47:00 JX-Store mysqld_safe[19036]: 150107 22:47:00 mysqld_safe 使用 /var/lib/mysql 中的數據庫啟動 mysqld 守護程序
Jan 07 22:47:00 JX-Store mysqld_safe[19036]: 150107 22:47:00 來自 pid 文件 /var/run/mariadb/mariadb.pid 的 mysqld_safe mysqld 結束
Jan 07 22:47:01 JX-Store systemd[1]: mariadb.service: 控制程序退出,code=exited status=1
Jan 07 22:47:01 JX-Store systemd[1]:無法啟動 MariaDB 數據庫伺服器。
-- 主題:單元 mariadb.service 失敗
-- 定義者:systemd
-- 支持:http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- 單元 mariadb.service 失敗。
--
-- 結果失敗。
Jan 07 22:47:01 JX-Store systemd[1]:單元 mariadb.service 進入失敗狀態。

mariadb.log

150107 22:47:00 mysqld_safe 使用來自 /var/lib/mysql 的數據庫啟動 mysqld 守護程序
150107 22:47:00 InnoDB:InnoDB 記憶體堆被禁用
150107 22:47:00 InnoDB:互斥鎖和 rw_locks 使用 GCC 原子內置函式
150107 22:47:00 InnoDB:壓縮表使用 zlib 1.2.7
150107 22:47:00 InnoDB:使用 Linux 原生 AIO
150107 22:47:00 InnoDB:初始化緩衝池,大小 = 128.0M
InnoDB:mmap(137756672 字節)失敗;錯誤號 12
150107 22:47:00 InnoDB:緩衝池初始化完成
150107 22:47:00 InnoDB:致命錯誤:無法為緩衝池分配記憶體
150107 22:47:00 [錯誤] 外掛“InnoDB”初始化函式返回錯誤。
150107 22:47:00 [錯誤] 外掛“InnoDB”註冊為儲存引擎失敗。
150107 22:47:00 [錯誤] mysqld:記憶體不足(需要 128917504 字節)
150107 22:47:00 [錯誤] mysqld:記憶體不足(需要 96681984 字節)
150107 22:47:00 [注意] 外掛“回饋”已禁用。
150107 22:47:00 [錯誤] 未知/不支持的儲存引擎:InnoDB
150107 22:47:00 [錯誤] 中止

150107 22:47:00 [注意] /usr/libexec/mysqld: 關機完成

150107 22:47:00 來自 pid 文件 /var/run/mariadb/mariadb.pid 的 mysqld_safe mysqld 結束

問題是系統無法將任何記憶體分配給能夠啟動的程序,您需要停止一些其他程序以便可以將記憶體分配給 MariaDB,或者您需要向伺服器添加更多 RAM 或 SWAP 空間以便程序可以正確啟動。

引用自:https://serverfault.com/questions/658022