シンボリックリンクを利用してデータベースの保存先を変更する 【mariadb, MySQL】

シンボリックリンクでデータベースの保存先を変更

mariadb, MySQLで、データベースの保存先の設定は、「/etc/my.cnf」の「datadir=/var/lib/mysql」の箇所です

このdatadir の設定箇所を変更すれば、データベースの保存先を変更できますが、設定ファイルを変更せずシンボリックリンクでの作って保存先を変更します

新しいデータベースの保存先を作成します

新しいデータベースの保存先のディレクトリを作成します。下記の設定ではadminユーザーのhomeディレクトリに作成しています

データベースを停止します

既存のデータベースの保存先をコピー(移動)する前に、データベース(mariadb, MySQL)を停止します

データベースのコピー及び所有者を変更します

データベースを停止してから、保存先を新しいディレクトリにコピーします。

シンボリックリンクを作成時に、「/var/lib/mysql」が存在したままだとシンボリックリンクが作成できないので、コピー後はデータベースを保存先は「mysql_old」にリネームします。

コピーしたディレクトリの所有者を「mysql」ユーザーに変更します

シンボリックリンクを作成します

lnコマンドでシンボリックリンクを作成します

データベースを起動します

シンボリックリンクを作成したら、データベースを起動します

※しばらく運用して問題がなければ、古いデータベースを保存先を削除します