English Version |
В данном приложении хотелось бы осветить основные способы при помощи которых вы сможете осуществить backup и перенос MySQL баз данных.
Рекомендованный и простейший способ переноса данных – при помощи утилиты mysqldump. Скопировать данные вы можете при помощи следующей команды:
$mysqldump dbname [tblname ...] >dump.sql
Загрузить данные в базу можно при помощи команды:
$mysql dbname <dump.sql
Укажите опцию --default-character-set=utf8 при импорте данных, если вы использовали mysqldump без опций, так как именно эта кодировка используется им по умолчанию. Будьте внимательны! Ранние версии mysqldump по умолчанию использовали latin1, поэтому, если у вас содержатся данные в кодировке отличной от latin1, используйте опцию --default-character-set и при импорте, и при экспорте данных.
Подробнее о mysqldump и его опциях вы можете прочитать здесь: http://dev.mysql.com/doc/refman/5.1/en/mysqldump.html Подробнее о кодировках можно почитать здесь: http://dev.mysql.com/doc/refman/5.1/en/charset.html.
mysqldump делает дамп таблиц в формате запросов SQL. Он добавляет запросы LOCK TABLES, поэтому вы можете не беспокоиться о целостности данных. Но в случае больших объёмов mysqldump работает слишком медленно, что может вас не устраивать.
Альтернативный вариант – использование простого копирования. Просто скопируйте MySQL datadir при помощи средств операционной системы таких как cp. Так как данные в таблицах MySQL бинарно совместимы между версиями и платформами простое копирование – отличный выход. Но в этом случае вы должны заботиться о блокировках вручную.
Также вы можете использовать средства ОС такие как LVM Snapshots, но, опять-таки, придётся заботиться о блокировках вручную.
Существуют утилиты для копирования данных, использующих определённую storage engine. Например, mysqlhotbackup для MyISAM, InnoDB Hot Backup и xtrabackup для InnoDB.
Назад | Содержание | Вперёд |
Автор 2009 Света Смирнова COPYRIGHT © 2009 С.Смирнова и С.Ласунов sveta_гав_js-client_точка_com |