さくらVPSでサーバーを運用しておりMariaDBでデータベースを管理しているが扱っている最中のibdata1ファイルが大きくなってきてしまっている問題についてどう対処するか
前々回質問させて頂きましたこちら、 https://teratail.com/questions/255914 とも関係するのですが、
/var/lib/mysql/ibdata1 が20GBくらいに肥大化してきたので、
自分のケースではどう対処するのがよいのか、データを消して再度流し込む方法に危険などは無いのか、
などについて質問させて頂きたいと思います。
※現状
さくらVPSで、意味があったかなかったかは別として(自分の所持サイト規模などにはあまり無かった可能性もありますがそれは置いておいて)、1Gプランから4Gプランなどにスケールアップを申し込んでみました。それによってみディスク容量も50GBから200GBに増えましたので、ibdata1が20GB前後ならまだ全然大丈夫です。とはいってもこのまま放置しておいてはとてもまずいことになるので対処はしたいのですが、
データを消して・・リストア云々となると少し怖い気もしています・・ それら込みで自分がどうするのが一番良いのか伺いにきました。
ベストなものは
【1番目の選択肢】 データ自体を少なくする。そしてデータが今後も大きくなっていかない設定を施す。
https://qiita.com/kooohei/items/15607ffbc3226d636b3f
http://oshiire.to/archives/1684
http://teityura.wjg.jp/engineer/ibdata%E8%82%A5%E5%A4%A7%E5%8C%96%E3%81%AE%E5%AF%BE%E5%87%A6%E6%96%B9%E6%B3%95
など。
というものだと思います。しかしたまたまと言いますか、偶然200GBのスペースを自分は借りているので、
【2番目の選択肢】
大きくしないだけの設定。
も有効だと思います。 小さくするのは怖さを伴う?という意味で。
その大きくしないだけの方法も、実際に有効かどうかは分かりませんが。
で、まず最初に自分が今日質問させて頂きたいのは
[mysqld]
innodb_data_file_path = ibdata1:1G
innodb_file_per_table
これは大きくすることを防ぐ設定と思いますが、
これだけするというのは無意味でしょうか?
つまり消してリストア、再度流し込むという方法でなく、
今自分が200GBを借りているので
大きくなっていくスピードを減らすためだけでも十分良いと思ったためです。
そのうえで、
バックアップを取ってから、削除して、再度データを流し込むといった
そういう方法に危険はないかどうか・・ あるいは
時間がどれくらいかかるか、結構長時間かかってしまうのかどうか・・なども
一応お聞きしたく来ましたが、すみませんが、宜しくお願いします。
もしリストア自体、怖くない作業だったらやはりそうした方がよいとも思うので・・。
で、
https://freesim.tokyo/3980/
こちらはinnodb を MyISAMに変えるというものらしいですが、
こちらも有効だったらやってみるのも手段かと思いますが、
どれが推奨されるかをアドバイス頂けたら有難いです、すみません;。
回答2件
あなたの回答
tips
プレビュー