ニート道

働きたくないでござる。

MySQLのデータディレクトリを変更する方法。

「/var/lib/mysql を任意のディレクトリに移して my.cnf の datadir の値とか起動スクリプトの関連項目を変更するといいよ!」みたいな事を仰ってる方を結構見かけるし、実際それで上手くいってる方もいるのだろうけれど、「それやっちゃうと後々面倒な事に…」(チェックポイントが増えそう)とか思うので、紹介するのは、シンボリックリンクを使った方法です。

とりあえず最初にMySQLのサービスを停止させ、「cat /etc/my.cnf」 等でdatadirを確認する。(ここでは/var/lib/mysql とする。) 次に、 cp -pr /var/lib/mysql/ /new_datadir/ などとして現在のデータディレクトリを変更先にコピー。 コピー先ディレクトリの所有者とグループをmysqlにchownする。

既存のデータディレクトリを

mv /var/lib/mysql /var/lib/mysql_日付

みたいな感じに変更したあと、

ln -s /new_datadir/mysql /var/lib/mysql

して、/var/lib/mysql を新しいデータディレクトリに向ける。 最後にMySQLを起動して起動の確認して完了です。 設定ファイルの値を変更するより「手順的にもスマートじゃないかなあ」と思います。