MySQLデータディレクトリの移動

Fedora release 8 (Werewolf)
MySQL Ver 14.12 Distrib 5.0.45
# /etc/rc.d/init.d/mysqld stop
Stopping MySQL:                                            [  OK  ]

MySQLを停止します。

# mkdir /mysql
# cp -rp /var/lib/mysql/* /mysql
# mv /var/lib/mysql /var/lib/mysql.bak

移動先となる/mysqlディレクトリを作成したら、移動元である/var/lib/mysqlディレクトリをコピーします。念のため、古いmysqlディレクトリはリネームして残します。

FILE: /etc/my.cnf

--- /etc/my.cnf	2011-06-21 18:54:59.000000000 +0900
+++ /etc/my.cnf	2011-06-21 18:43:15.000000000 +0900
@@ -1,12 +1,12 @@
 [mysqld]
-datadir=/var/lib/mysql/data
+datadir=/mysql/data
 socket=/var/lib/mysql/mysql.sock
 user=mysql
 # Default to using old password format for compatibility with mysql 3.x
 # # clients (those using the mysqlclient10 compatibility package).
 default-character-set=utf8
 server-id=31
-log-bin=/var/lib/mysql/bin-log/log-bin
+log-bin=/mysql/bin-log/log-bin
 expire_logs_days=14
 long_query_time=1
 log-slow-queries=/var/log/mysql/slow.log

my.cnfを書き換えます。

FILE: /mysql/bin-log/log-bin.index

--- /mysql/bin-log/log-bin.index	2011-06-21 18:59:32.000000000 +0900
+++ /mysql/bin-log/log-bin.index	2011-06-21 18:48:04.000000000 +0900
@@ -1,5 +1,5 @@
-/var/lib/mysql/bin-log/log-bin.000001
-/var/lib/mysql/bin-log/log-bin.000002
-/var/lib/mysql/bin-log/log-bin.000003
-/var/lib/mysql/bin-log/log-bin.000004
-/var/lib/mysql/bin-log/log-bin.000005
+/mysql/bin-log/log-bin.000001
+/mysql/bin-log/log-bin.000002
+/mysql/bin-log/log-bin.000003
+/mysql/bin-log/log-bin.000004
+/mysql/bin-log/log-bin.000005

log-bin.indexにはバイナリログへのフルパスが書かれています。バイナリログの出力先を変更した場合は、log-bin.indexも書き換えておきます。

# /etc/rc.d/init.d/mysql start
Starting MySQL:                                            [  OK  ]

MySQLを起動します。