Azure VM の Standard B1ls インスタンスで Ubuntu に MySQL を入れようとしたらメモリ不足でインストール出来なかったのでメモ。
最終的には B1ls の RAM 500MB で動かせるようになったけど。
とにかく MySQL 8.0 をインストールしたい
まず、 MySQL8.0 は RAM 500MB だとメモリ不足でインストール出来ないw
apt でインストールしようとするとこういうエラーが出る↓
Problems installing MySQL on Ubuntu 20.04 – Stack Overflow
で、応急処置は RAM を 1GB 以上確保してからインストールすれば OK.
マシンサイズを Standard B1s (RAM 1GB) に変更したらインストール出来た。
mysql_secure_installation でエラーが出る
続いて mysql_secure_installation を実行したら、今度はパスワードを変更できない。
sudo mysql_secure_installation をするとこういうエラーが出る↓
MySQL installation on Ubuntu 20.04 error when using mysql_secure_installation – Stack Overflow
対策は上記リンク先に書いてあるとおり MySQL に root アカウントでログインして、 ALTER コマンドでパスワードをセットしてから再び mysql_secure_installation を実行すれば OK.
MySQL 8.0 のメモリ使用量を減らす
最後にメモリ使用量を減らす。
デフォルトだとOS全体で 600MB 以上メモリを使っているので、このままだと B1ls マシンではメモリ不足で動かない。
/etc/mysql/mysql.conf.d/mysqld.cnf を編集してメモリ使用量を減らす。
# mysqld.cnf key_buffer_size = 8M #16M から変更 #そして下記を追加 thread_stack = 256K performance_schema = 0
※2022-10-26訂正 thread_stack = 128K だとThread Stack Overrun error が出てコケるので 256K に変更
これで MySQL を再起動すると、RAM使用量が一気に減った。
free で見たらこうだった。
$ free -m total used free shared buff/cache available Mem: 402 295 4 23 102 63 Swap: 2047 326 1721
300MB 弱まで減らせた。
ここまで来たら、あとはマシンサイズを再び B1ls の RAM 500MB マシンに変更すれば OK.