Změna umístění datového adresáře MySQL

(CentOS 6)

Cílem je přesunout datový adresář MySQL na jiný diskový oddíl do adresáře /data/mysql.

 

1) Zastavení MySQL serveru:

service mysqld stop

2) Vytvoření nového datového adresáře:

mkdir /data/mysql

3) Překopírování obsahu původního datového adresáře do nového umístění se zachováním práv, vlastnictví a časového razítka:

cp -pR /var/lib/mysql/* /data/mysql/

4) Konfigurace SELinux

Přidání vlastní položky do SELinux policy, která definuje bezpečnostní kontext pro nový datový adresář a jeho obsah:

semanage fcontext -a -t mysqld_db_t "/data/mysql(/.*)?"

Provedení kontextových změn:

restorecon -R -v /data/mysql

5) Přejmenování původního dat. adresáře:

mv /var/lib/mysql/ /var/lib/mysql.bak

6) Vytvoření symbolického odkazu z původního adresáře na nový (potřebné pro programy závislé na výchozím umístění):

ln -s /data/mysql/ /var/lib/mysql

7) Úprava cest v konfiguračním souboru /etc/my.cnf:
datadir=/data/mysql
socket=/data/mysql/mysql.sock
8) Spuštění MySQL serveru:

service mysqld start

Komentáře

Metoda 2

další nápad je udělat rsync ještě před zastavením mysql a po zastavení znovu, výsledek bude kratší výpadek, protože nebude potřeba kopírovat tolik dat. viz: http://internetlifeforum.com/reseller-hosting/2489-how-move-mysql-folder...