Saturday, 30 October 2010

Миграция с MySQL 5.0 на MySQL 5.1 (Debian)

Итак, у нас имеется /var/lib/mysql от mysql 5.0 (5.0.8x-percona-bxx), а также работающий сервер с MySQL 5.1 (5.1.5x Percona Server). Задача - корректно перенести все данные на 5.1.

Для начала просто положим папку /var/lib/mysql от 5.0 в соответствующую папку от 5.1. Далее прежде чем запустить СУБД обратим внимание на то, что в Debian есть такой прекрасный скрипт как /etc/mysql/debian-start, который делает ряд нужных нам задач: upgrade_system_tables_if_necessary (апгрейд таблиц, нам как раз и нужна эта фича, она запускает скрипт /usr/bin/mysql_upgrade, которая, во-первых, обновляет структуру самих таблиц, а, во-вторых, вносит изменения в системные таблицы), check_root_accounts, check_for_crashed_tables (проверка всех MyISAM таблиц на консистентость). Но для работы этому скрипту нужны доступы к mysql с root привилегиями, которые обеспечиваются файлом /etc/mysql/debian.cnf, который необходимо перенести со старой машины (либо просто руками скопировать root пароль).

После этой подготовки запускаем СУБД и около получаса-часа ее не трогаем, пока она занимается апдейтом таблиц:
/etc/init.d/mysql start

Запрос для затравки: http://www.google.com/search?sourceid=chrome&ie=UTF-8&q=migrate+from+5.0+to+5.1+/var/lib/mysql

http://forums.mysql.com/read.php?10,323658,352152#msg-352152

No comments:

Post a Comment

Note: only a member of this blog may post a comment.