使えるシステムから使いたいシステムへ、有限会社アテージ

MySQLからMariaDBへ移行するというニュースをちらほら耳にするようになりましたので、実験用のPCで移行作業を行ってみました。主要なディストリビューションのパッケージがこちらに用意されていますので、手っ取り早くパッケージを利用します。

OSはUbuntu12.04、MySQL、MariaDBは共に5.5を使用しました。

なお、移行作業はリスクを伴いますので、重要なデータのバックアップは勿論ですが、作業は自己責任でお願いいたします。

インストール

パッケージを使ったインストールでは、MySQLを置き換えますので注意してください。

接続して文字コードの確認

コマンド類はMySQLと同じです。

文字コードはUTF-8を使用している方が多いと思いますが、インストール直後は以下のような設定になっていました。/etc/mysql/debian.cnfの文字コード関連のコメントを外してUTF-8に変更します。

起動、停止の確認

起動スクリプトは、書き換わりますのでそのままでは動作しないかもしれません。原因は様々ですが、エラーログを参考にすれば特定しやすいと思います。エラーログはmy.cnfに以下の行を追加すると出力されます。

作業した環境では以下のようなエラーがありました。MariaDBに移行したことが原因ではないものも含まれます。

1. 起動スクリプトでstatusが表示できない

debian-sys-maintのパスワードが/etc/mysql/debian.cnfで定義されているものと異なっているためで、パスワードを合わせることで解決。

2. 起動スクリプトでstopが効かない -> エラーログの確認

my.cnfのmyisam_recoverというパラメータをmyisam_recover_optionsに変更することで解決。

3. 起動スクリプトでstopが効かない -> エラーログの確認

使っていないplugin (全文検索エンジンgroonga) の設定がDBに残っているためことが原因。以下のテーブルからエントリを削除することで解決。

弊社で開発したWebシステム (ストレージエンジンはInnoDB) をいくつかチェックしてみましたが、特に問題なく動作しており、比較的簡単に移行できることが確認出来ました。

5.5でデフォルトで利用できるストレージエンジンは以下の通りです。Comment欄を見れば概要はわかりますが、詳しくはこちら