Rate this post
Если вам необходимо переставить базу данных Mysql, или же просто перенести её на другой сервер, можно воспользоваться следующим планом:
1. В первую очередь необходимо сделать бэкап всех данных, а именно:
MySQL папки — /var/lib/mysql
MySQL баз данных, используя команду mysqldump
Mysql файлы конфигурации /etc/my.cnf, /etc/logrotate.d/mysqld
Mysql лог файлы по необходимости /var/log/mysqld.log
Для примера, бэкап:
# mkdir /root/mysql-files/
# tar zcvf /root/mysql-files/mysql.config-files.dd-mm-yyyy.tar.gz /etc/logrotate.d/mysqld /var/log/mysqld.log /etc/my.cnf /root/my.cnf /var/lib/mysql/
для бэкапа баз данных используем скрипт: 
#!/bin/sh
# mysql-backup.sh: Dump MySQL databases.
# Note: Test only on RHEL/CentOS/Debian/Ubuntu Linux.
# Author: nixCraft <www.cyberciti.biz> Under GPL v2.0+
# ——————————————————
NOW=$(date +»%d-%m-%Y»)
BAK=»/root/mysql-files/$NOW»
 
##################
## SET ME FIRST ##
##################
MUSER=»root»
MPASS=»YOUR-ROOT-PASSWORD-HERE»
MHOST=»localhost»
 
MYSQL=»$(which mysql)»
MYSQLDUMP=»$(which mysqldump)»
GZIP=»$(which gzip)»
 
if [ ! -d $BAK ]; then
  mkdir -p $BAK
else
 :
fi
 
DBS=»$($MYSQL -u $MUSER -h $MHOST -p$MPASS -Bse \’show databases\’)»
echo -n «Dumping…${THISDB}…»
for db in $DBS
do
 echo -n «$db «
 FILE=$BAK/mysql-$db.$NOW-$(date +»%T»).gz
 $MYSQLDUMP -u $MUSER -h $MHOST -p$MPASS $db | $GZIP -9 > $FILE
done
echo -n  «…Done @ ${BAK} directory.»
echo «»
Сделаем из команд файл sh, и запустим — ./mysql-backup.sh
Далее можем удалять mysql^
$ sudo apt-get purge mysql-server mysql-common mysql-client
Удаляем директории которые остались после установки:
sudo rm -rvfi /var/lib/mysql /etc/mysql/ /var/log/mysql*
Для удаления сервера под Centos/rhel:
yum remove mysql mysql-server
2. После удаления мы можем устанавливать сервер:
sudo apt-get install mysql-client mysql-server mysql-common
для Centos/rhel:
yum install mysql mysql-server
После установки можем развернуть все наши бэкапы, как пример:
$ gunzip mysql-blog.08-12-2013-04:00:18.gz
$ mysql -u root -p mysql -e \’CREATE DATABASE blog;\’
$ mysql -u root -p blog < mysql-blog.08-12-2013-04:00:18
Так же восстановить конфигурационные файлы:
# tar xvf /root/mysql-files/mysql.config-files.dd-mm-yyyy.tar.gz -C /root/backups/
# cp /root/backups/etc/my.cnf /etc
# service mysqld restart
Есть проблемы с установкой и настройкой базы данных mysql ? Обращайтесь — [email protected]