Spec-Zone .ru
спецификации, руководства, описания, API

2.11.5. Копирование MySQL Databases to Another Machine

Можно скопировать .frm, .MYI, и .MYD файлы для MyISAM таблицы между различной архитектурой, которая поддерживает тот же самый формат с плавающей точкой. (MySQL заботится о любых подкачивающих байт проблемах.) См. Раздел 14.3," MyISAM Механизм хранения".

В случаях, куда Вы должны передать базы данных между различной архитектурой, можно использовать mysqldump, чтобы создать файл, содержащий SQL-операторы. Можно тогда передать файл другой машине и подать это как входной mysql клиенту.

Используйте mysqldump - помогают видеть, какие опции доступны.

Самое легкое (хотя не самое быстрое) способ переместить базу данных между двумя машинами должно выполнить следующие команды на машине, на которой располагается база данных:

shell> mysqladmin -h 'other_hostname'
        create db_nameshell> mysqldump db_name | mysql -h 'other_hostname' db_name

Если Вы хотите скопировать базу данных с удаленной машины по медленной сети, можно использовать эти команды:

shell> mysqladmin create db_nameshell> mysqldump
        -h 'other_hostname' --compress db_name | mysql db_name

Можно также сохранить дамп в файле, передать файл целевой машине, и затем загрузить файл в базу данных там. Например, можно вывести базу данных к сжатому файлу на исходной машине как это:

shell> mysqldump --quick db_name | gzip > db_name.gz

Передайте файл, содержащий содержание базы данных к целевой машине, и выполните эти команды туда:

shell> mysqladmin create db_nameshell> gunzip
        < db_name.gz | mysql db_name

Можно также использовать mysqldump и mysqlimport, чтобы передать базу данных. Для больших таблиц это намного быстрее чем простое использование mysqldump. В следующих командах, DUMPDIR представляет имя полного пути каталога, который Вы используете, чтобы сохранить вывод от mysqldump.

Во-первых, создайте каталог для выходных файлов и выведите базу данных:

shell> mkdir DUMPDIRshell> mysqldump
        --tab=DUMPDIR db_name

Затем передайте файлы в DUMPDIR каталог к некоторому соответствующему каталогу на целевой машине и загрузке файлы в MySQL там:

shell> mysqladmin create db_name # create databaseshell> cat DUMPDIR/*.sql | mysql db_name # create tables in databaseshell> mysqlimport db_name DUMPDIR/*.txt # load data into tables

Не забывайте копировать mysql база данных, потому что это - то, где таблицы предоставления сохранены. Вы могли бы иметь к командам выполнения как MySQL root пользователь на новой машине, пока Вы не имеете mysql база данных на месте.

После того, как Вы импортируете mysql база данных на новой машине, выполните mysqladmin полномочия сброса так, чтобы сервер перезагрузил информацию о таблице предоставления.