MySQLデータ、ログディレクトリ移動

Pocket

  • データディレクトリ
    /var/lib/mysqlへ/data/lib/mysqlへ変更します。
  • ログディレクトリ
    /var/log/mysqlから/data/log/mysqlへ変更します。

1 MySQLの停止

$ sudo service mysql stop

2 データ、ログディレクトリのコピー

#libディレクトリ作成
$ mkdir /data/lib
# データディレクトリ
cp -rfa /var/lib/mysql /data/lib
# log
cp -rfa /var/log /data

2 my.cnfの変更
/etc/mysql/my.cnfのdatadir, log_error, log_binを変更します。

# datadir    = /var/lib/mysql 
datadir      = /data/lib/mysql

# log_error  = /var/log/mysql/error.log
log_error    = /data/log/mysql/error.log

# log_bin    = /var/log/mysql/mysql-bin.log
log_bin      = /data/log/mysql/mysql-bin.log

3 アクセス許可の変更

データディレクトリの変更設定はmy.cnfの設定だけでなく、
/etc/apparmor.d/usr.sbin.mysqldでアクセス権の変更が必要です。

/etc/apparmor.d/usr.sbin.mysqld

/var/lib/mysql/ r,
/var/lib/mysql/** rwk,
# 以下を追加
/data/lib/mysql/ r,
/data/lib/mysql/** rwk,
.....
.....
/var/log/mysql/ r,
/var/log/mysql/* rw,
# 以下を追加
/data/log/mysql/ r,
/data/log/mysql/* rw,

4 MySQLの開始

$ sudo service mysql start

5 変更の確認

mysql > show variables like 'datadir';

+---------------+------------------+
| Variable_name | Value            |
+---------------+------------------+
| datadir       | /data/lib/mysql/ |
+---------------+------------------+

人気記事 はてなブックマーク

この日記のはてなブックマーク数