はじめに
MySQLのデータベース保存先を変更する際に手間取ったのでマニュアル化。
環境
項目 | バージョン |
---|---|
OS | CentOS 7.4 |
MySQL | MySQL 5.7 |
移行元 | /var/lib/mysql |
移行先 | /database/mysql |
概略
- 当初、
/etc/my.conf
の中身を書き換えて参照先を変えようとしていた - アクセス権とか
socketファイル
とか諸々の問題が出てきてうまく行かなかった - 諸々:サービス自体は起動できてるのにクライアントからログインできないとか
- 予定を変更して、シンボリックリンクを貼ることで対応した
手順
念のためデータディレクトリを確認する
console
mysql -u (user_name) -p
console
show variables like 'datadir';
MySQLサービスを止める
console
systemctl stop mysqld
データディレクトリをコピーしてリネーム
console
cp -prf /var/lib/mysql /database
mv /var/lib/mysql /var/lib/mysql.org
シンボリックリンクを作成してサービス起動
console
cd /var/lib
ln -s /database/mysql
systemctl start mysqld
SELinuxとの関係性
何かエラーが発生した場合、とりあえずSELinux止めて動くかどうか確認してください。
うまく行かなかった方法
こちらの方法で対応したのですが、どうもうまく行きませんでした…。
他の文献を見ててもこのやり方で上手く行ってるので、こちらの設定が誤っている可能性がありますが…シンボリックリンク貼ったほうがお手軽でいいかな、と。