English Version

Приложение. Способы копирования и переноса MySQL и баз данных.

В данном приложении хотелось бы осветить основные способы при помощи которых вы сможете осуществить 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