Linux
突然 mysql/mariadb 無法啟動
突然,在安裝中簡單地將幾個表添加到數據庫之後……服務將無法啟動。歡迎任何幫助。
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 空間以便程序可以正確啟動。