【解決】MySql 5.6運転クラッシュエラー
【解決】MySql 5.6運転クラッシュエラー
最近1台のクラウドホストをいじって、配置は20 Gディスクの空間で、1 GはメモリのLinuxサーバーを実行します.上にLAMP(RHEL 7.2+Apache 2.4+MySql 5.6+PHP 5.6)をインストールし、wordpressサイトを構築したが、サイトが稼働して間もなく、データベースに接続できなくなった.サーバー上で使用する:ps-aux|grep mysql,MySqlサービスが运行していないことを発见して、とてもどのように运行するのがよくて、自分で停止しました.次のログを確認すると、次のエラーメッセージが表示されます.
ログの情報から見ると、バッファのメモリが不足してサービスが終了したということです.free-mを使用してサーバのメモリ状況を確認しました.
メモリは十分で、MySqlサービスを再起動しようとします:/etc/init.d/mysqld startの結果、次のエラーが発生しました.
何度も試してみたが、起動できず、もどかしい.
調整を試みる:innodb_buffer_pool_sizeパラメータの大きさですが、まだ起動できません.以前、仮想マシンでも同じ環境でこのような問題は発生しなかったことを覚えています.唯一の違いは、このクラウドホストに交換パーティションが割り当てられていないことです.この問題が原因ではないでしょうか.では、2 Gの交換パーティションを増やしてみましょう.
交換パーティションを追加する/etc/fstab
vim/etc/fstab
すべてOKになったので、MySQLサービスを再起動してみます.
Starting MySQL.... SUCCESS!
成功しました...まさか本当にこのような原因...しばらく観察したが,しばらく故障はなかった.
MySQL 5.6さらに最適化が必要です...まだまだメモリが食べられますね...
その後、海外のウェブサイトで同じ問題を解決する文章を見つけました.方法はすべて同じで、住所は以下の通りです.
http://www.webtrafficexchange.com/solved-mysql-crash-fatal-error-cannot-allocate-memory-buffer-pool
最近1台のクラウドホストをいじって、配置は20 Gディスクの空間で、1 GはメモリのLinuxサーバーを実行します.上にLAMP(RHEL 7.2+Apache 2.4+MySql 5.6+PHP 5.6)をインストールし、wordpressサイトを構築したが、サイトが稼働して間もなく、データベースに接続できなくなった.サーバー上で使用する:ps-aux|grep mysql,MySqlサービスが运行していないことを発见して、とてもどのように运行するのがよくて、自分で停止しました.次のログを確認すると、次のエラーメッセージが表示されます.
2016-02-20 00:11:03 2762 [Note] InnoDB: Initializing buffer pool, size = 128.0M
InnoDB: mmap(137363456 bytes) failed; errno 12
2016-02-20 00:11:03 2762 [ERROR] InnoDB: Cannot allocate memory for the buffer pool
2016-02-20 00:11:03 2762 [ERROR] Plugin 'InnoDB' init function returned error.
2016-02-20 00:11:03 2762 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
2016-02-20 00:11:03 2762 [ERROR] Unknown/unsupported storage engine: InnoDB
2016-02-20 00:11:03 2762 [ERROR] Aborting
ログの情報から見ると、バッファのメモリが不足してサービスが終了したということです.free-mを使用してサーバのメモリ状況を確認しました.
total used free shared buff/cache available
Mem: 991 470 461 12 59 423
Swap: 0 0 0
メモリは十分で、MySqlサービスを再起動しようとします:/etc/init.d/mysqld startの結果、次のエラーが発生しました.
Starting MySQL.. ERROR! The server quit without updating PID file (/data/mysql/mysql.pid).
何度も試してみたが、起動できず、もどかしい.
調整を試みる:innodb_buffer_pool_sizeパラメータの大きさですが、まだ起動できません.以前、仮想マシンでも同じ環境でこのような問題は発生しなかったことを覚えています.唯一の違いは、このクラウドホストに交換パーティションが割り当てられていないことです.この問題が原因ではないでしょうか.では、2 Gの交換パーティションを増やしてみましょう.
dd if=/dev/zero of=/udata/men.swap bs=1k count=2048000
mkswap /udata/men.swap
swapon /udata/men.swap
交換パーティションを追加する/etc/fstab
vim/etc/fstab
UUID=24357e34-62a1-4645-b3c1-3305c61176e4 swap swap defaults 0 0
すべてOKになったので、MySQLサービスを再起動してみます.
/etc/init.d/mysqld start
Starting MySQL.... SUCCESS!
成功しました...まさか本当にこのような原因...しばらく観察したが,しばらく故障はなかった.
MySQL 5.6さらに最適化が必要です...まだまだメモリが食べられますね...
free -m
total used free shared buff/cache available
Mem: 991 857 73 0 60 41
Swap: 1999 670 1329
その後、海外のウェブサイトで同じ問題を解決する文章を見つけました.方法はすべて同じで、住所は以下の通りです.
http://www.webtrafficexchange.com/solved-mysql-crash-fatal-error-cannot-allocate-memory-buffer-pool