1. Спира се mysql
/etc/init.d/mysql stop
2. Проверява се дали mysql е спрян на 100% :) и ако е спрян вече копираме базите
ps aux|grep mysql
3. Копират се базите на другия хард или директория
cp -r /var/lib/mysql /hdd2/mysql
4. Прави се връзка между /var/lib/mysql -> /hdd2/mysql
ln -s /var/lib/mysql /hdd2/mysql
5. Стартира се MySQL
/etc/init.d/mysql start
Има и друг вариант след точка 2. Вместо да се прави линк между /var/lib/mysql -> /hdd2/mysql се променя datadir в конф файлва на MySQL:
Файла:/etc/my.cnf
Ред: datadir=/hdd2/mysql
Отново се стартира MySQL и готово :)
В последните месеци ми се наложи на мен да преместя няколко пъти базата, все задари недостик на място. Мога да добавя няколко бележки по преместването:
-- хубаво е като се копират файловете да се запазят правата: -p опция ако не се бъркам
-- между т. 3 и 4 е добре /var/lib/mysql да се преименува, за да се избегнат конфликти със връзката
Напоследък предпочитам да местя базата, като сложа нов диск, копирам mysql директорията и го монтирам в /var/lib/mysql. Така не се налага да се променя конфигурацията и нещата вървят напълно транспарентно. Друго предимство е, че ако нещо се издъни, демонтирам диска и продължавам със старите данни.