MySQL5.6だから?とかmy.cnfの設定がダメ?とかいろいろ考えすぎましたが、
デフォルトでも起動しないためそんなことはないようです。
ログには Cannot allocate memory・・・・と、
空きメモリーあるんだけどなと思いつつもinnodb_buffer_pool_sizeを小さくしてもダメでした。
[Note] InnoDB: Initializing buffer pool, size = 128.0M InnoDB: mmap(137363456 bytes) failed; errno 12 [ERROR] InnoDB: Cannot allocate memory for the buffer pool [ERROR] Plugin 'InnoDB' init function returned error. [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed. [ERROR] Unknown/unsupported storage engine: InnoDB [ERROR] Aborting
対策
メモリー(物理)を増やすほど富豪ではなかったのでswap領域を追加してみることにしました。swap領域の確認
swapon -s Filename Type Size Used Priority確かにありません・・・。
スワップ領域作成
容量は環境に合わせて適宜変更してください。sudo dd if=/dev/zero of=/swapfile bs=1024k count=512 sudo mkswap /swapfile sudo swapon /swapfile sudo chown root:root /swapfile sudo chmod 0600 /swapfile
再起動しても反映されるように修正
sudo vi /etc/fstab # 次の行を追記 /swapfile swap swap defaults 0 0
OSのスワップの利用頻度を低くする
できるだけスワップしない用に設定する(0〜100) 100の方が多くスワップ領域を使用するvi /etc/sysctl.conf vm.swappiness=10 sysctl -p
これで無事にMySQL5.6が起動したのでいろいろ検証できます。
ちなみにPHPでもワーニング出ていたのが解消しました。
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/gd.so' - libvpx.so.0: cannot map zero-fill pages: Cannot allocate memory in Unknown on line 0ここにもさりげなくCannot allocate memoryが。
ワーニング?・・・レベルなのかな・・・
0 件のコメント:
コメントを投稿