最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

mariadb 在低配 VPS 上崩潰問題處理方案

 更新時(shí)間:2016年09月20日 08:44:55   作者:克里斯的小屋  
本文給大家分享的是mariadb 在低配 VPS 上啟動(dòng)時(shí)崩潰問題的處理方案,附上解決過程,有需要的小伙伴可以參考下

引言

最近博客又抽風(fēng)了,打開主頁后提示 Error Establishing a Database Connection 。仔細(xì)想想,應(yīng)該就是數(shù)據(jù)庫服務(wù)器 mariadb 掛了;以前也遇到過類似的問題。經(jīng)過分析日志,并結(jié)合網(wǎng)上的資料最終解決了問題。

日志

以下是 mariadb 服務(wù)器掛掉時(shí)的比較關(guān)鍵的日志信息,從下面的日志信息中,我們可以很容易地看出由于內(nèi)存不足,從而導(dǎo)致數(shù)據(jù)庫服務(wù)器啟動(dòng)時(shí)崩潰。

InnoDB: Starting crash recovery.
InnoDB: Reading tablespace information from the .ibd files...
InnoDB: Restoring possible half-written data pages from the doublewrite
InnoDB: buffer...
160919  2:47:12  InnoDB: Waiting for the background threads to start
160919  2:47:13 Percona XtraDB (
http://www.percona.com) 5.5.46-MariaDB-37.6 started; log sequence number 352718445
160919  2:47:13 [ERROR] mysqld: Out of memory (Needed 128917504 bytes)
160919  2:47:13 [Note] Plugin 'FEEDBACK' is disabled.
160919  2:47:13 [Note] Server socket created on IP: '0.0.0.0'.
160919  2:47:13 [Note] Event Scheduler: Loaded 0 events
160919  2:47:13 [Note] /usr/libexec/mysqld: ready for connections.
Version: '5.5.47-MariaDB'  socket: '/var/lib/mysql/mysql.sock'  port: 3306  MariaDB Server
160919 02:47:35 mysqld_safe Number of processes running now: 0
160919 02:47:35 mysqld_safe mysqld restarted
160919  2:47:35 [Note] /usr/libexec/mysqld (mysqld 5.5.47-MariaDB) starting as process 28614 ...
160919  2:47:35 InnoDB: The InnoDB memory heap is disabled
160919  2:47:35 InnoDB: Mutexes and rw_locks use GCC atomic builtins
160919  2:47:35 InnoDB: Compressed tables use zlib 1.2.7
160919  2:47:35 InnoDB: Using Linux native AIO
160919  2:47:35 InnoDB: Initializing buffer pool, size = 128.0M
InnoDB: mmap(137756672 bytes) failed; errno 12
160919  2:47:35 InnoDB: Completed initialization of buffer pool
160919  2:47:35 InnoDB: Fatal error: cannot allocate memory for the buffer pool
160919  2:47:35 [ERROR] Plugin 'InnoDB' init function returned error.
160919  2:47:35 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
160919  2:47:35 [ERROR] mysqld: Out of memory (Needed 128917504 bytes)
160919  2:47:35 [ERROR] mysqld: Out of memory (Needed 96681984 bytes)
160919  2:47:35 [ERROR] mysqld: Out of memory (Needed 72499200 bytes)
160919  2:47:35 [Note] Plugin 'FEEDBACK' is disabled.
160919  2:47:35 [ERROR] Unknown/unsupported storage engine: InnoDB
160919  2:47:35 [ERROR] Aborting

解決

在使用 free -m 查看內(nèi)存信息時(shí),發(fā)現(xiàn) swap 分區(qū)大小為 0。難怪說數(shù)據(jù)庫服務(wù)器無法啟動(dòng)呢,在內(nèi)存不夠用的情況下,又無法使用 swap 分區(qū),自然崩潰了。由于 VPS 使用了 SSD,性能自然不錯(cuò)。下面我們給服務(wù)器系統(tǒng) CentOS 7 添加 1024M 的 swap 分區(qū),采用的方法是創(chuàng)建一個(gè) swap 文件:

使用下面的命令創(chuàng)建 swapfile :

# 1048576 = 1024 * 1024
dd if=/dev/zero of=/swapfile bs=1024 count=1048576

使用下面的命令配置 swap 文件:

mkswap /swapfile

接下來,使用下面的命令立即啟用 swapfile ,這樣就不用等到下次重啟時(shí)自動(dòng)啟用:

swapon /swapfile

最后,我們在 /etc/fstab 中添加下面一行,這樣可以在系統(tǒng)下次重啟時(shí)自動(dòng)生效創(chuàng)建的 swapfile :

/swapfile       swap    swap defaults   0 0

使用 cat /proc/swaps 或 free -m 查看 swapfile 的生效情況,如下圖所示:

在完成上面的步驟后,我們還可以在 /etc/my.cnf 配置文件中添加一些配置信息,降低 mariadb 資源需求,具體的配置請參考文末給出的鏈接。

啟動(dòng)

啟動(dòng) apache 服務(wù)器: systemctl start httpd.service ;
啟動(dòng) mariadb 服務(wù)器: systemctl start mariadb.service 。
啟動(dòng)完成后,再次打開網(wǎng)站主頁,bingo,問題解決了!

總結(jié)

低配 VPS 最好還是要多增加 swap 分區(qū)大小,尤其對于使用 SSD 的 VPS 而言, swap 分區(qū)的性能也非常不錯(cuò);
數(shù)據(jù)庫服務(wù)器崩潰后,一定要記得學(xué)會(huì)分析日志。最簡單的做法就是使用 tail 命令看看最近的崩潰日志,并根據(jù)崩潰信息尋找解決問題的辦法;

WordPress 程序本身比較占資源,所以運(yùn)行在低配的 VPS 時(shí),還是需要做些優(yōu)化工作。具體請參考文末給出的鏈接。

相關(guān)文章

  • 關(guān)于mongoose連接mongodb重復(fù)訪問報(bào)錯(cuò)的解決辦法

    關(guān)于mongoose連接mongodb重復(fù)訪問報(bào)錯(cuò)的解決辦法

    這篇文章主要介紹了關(guān)于mongoose連接mongodb重復(fù)訪問報(bào)錯(cuò)的解決辦法的相關(guān)資料,需要的朋友可以參考下
    2016-01-01
  • 在Ubuntu系統(tǒng)中安裝MariaDB數(shù)據(jù)庫的教程

    在Ubuntu系統(tǒng)中安裝MariaDB數(shù)據(jù)庫的教程

    這篇文章主要介紹了在Ubuntu系統(tǒng)中安裝MariaDB數(shù)據(jù)庫的教程,同時(shí)也適用于其他Debian系的Linux系統(tǒng),需要的朋友可以參考下
    2015-06-06
  • 我是如何用2個(gè)Unix命令給MariaDB SQL提速的

    我是如何用2個(gè)Unix命令給MariaDB SQL提速的

    我試圖在 MariaDB(MySQL)上運(yùn)行一個(gè)簡單的連接查詢,但性能簡直糟糕透了。下面將介紹我是如何通過兩個(gè)簡單的 Unix 命令,將查詢時(shí)間從 380 小時(shí)降到 12 小時(shí)以下的,需要的朋友可以參考下
    2018-08-08
  • centos編譯安裝mariadb的詳細(xì)過程

    centos編譯安裝mariadb的詳細(xì)過程

    這篇文章主要介紹了centos編譯安裝mariadb的方法,主要包括安裝cmake環(huán)境及安裝mariadb的詳細(xì)過程,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下的相關(guān)資料
    2022-08-08
  • 淺談MySQL和mariadb區(qū)別

    淺談MySQL和mariadb區(qū)別

    MariaDB是MySQL源代碼的一個(gè)分支,在意識(shí)到Oracle會(huì)對MySQL許可做什么后分離了出來(MySQL先后被Sun、Oracle收購)。除了作為一個(gè)Mysql的“向下替代品”,MariaDB包括的一些新特性使它優(yōu)于MySQL。通過本篇文章給大家介紹MySQL和mariadb區(qū)別,需要的朋友可以參考下
    2015-09-09
  • 詳談MySQL和MariaDB區(qū)別與性能全面對比

    詳談MySQL和MariaDB區(qū)別與性能全面對比

    這篇文章主要介紹了詳談MySQL和MariaDB區(qū)別與性能全面對比,需要的朋友可以參考下
    2020-02-02
  • centos中找回MariaDB數(shù)據(jù)庫root用戶權(quán)限的方法

    centos中找回MariaDB數(shù)據(jù)庫root用戶權(quán)限的方法

    這篇文章主要介紹了centos中找回MariaDB數(shù)據(jù)庫root用戶權(quán)限的方法,本文寫的很意思,相信大家會(huì)眼前一亮,需要的朋友可以參考下
    2014-07-07
  • Mac中MariaDB數(shù)據(jù)庫的安裝步驟

    Mac中MariaDB數(shù)據(jù)庫的安裝步驟

    大家都知道MariaDB數(shù)據(jù)庫管理系統(tǒng)是MySQL的一個(gè)分支,主要由開源社區(qū)在維護(hù),采用GPL授權(quán)許可MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能輕松成為MySQL的代替品。這篇文章我們將詳細(xì)介紹在Mac中安裝MariaDB數(shù)據(jù)庫的步驟,有需要可以參考學(xué)習(xí)。
    2016-09-09
  • MySQL分支選擇參考:Percona還是MariaDB

    MySQL分支選擇參考:Percona還是MariaDB

    這篇文章主要介紹了MySQL分支選擇參考:Percona還是MariaDB,本文分別講解了Percona、MariaDB背景知識(shí),對使用它們的選擇給出了參考,需要的朋友可以參考下
    2015-03-03
  • MariaDB 數(shù)據(jù)類型詳細(xì)說明

    MariaDB 數(shù)據(jù)類型詳細(xì)說明

    這篇文章主要介紹了MariaDB 數(shù)據(jù)類型詳細(xì)說明,需要的朋友可以參考下
    2023-05-05

最新評論

邢台县| 永顺县| 茌平县| 婺源县| 佳木斯市| 普安县| 星座| 当雄县| 桓仁| 阿巴嘎旗| 崇明县| 淮南市| 上杭县| 淅川县| 宣恩县| 龙山县| 黄山市| 乌兰察布市| 鄂托克前旗| 万源市| 隆安县| 沙洋县| 休宁县| 卢龙县| 清原| 灵山县| 安徽省| 昌平区| 旬阳县| 北流市| 靖安县| 阳曲县| 德昌县| 乌兰浩特市| 佛教| 迁安市| 射洪县| 盱眙县| 临夏市| 阳新县| 健康|