При использовании MySQL 3.23 можно
копировать файлы .frm,
.MYI и .MYD
между различными архитектурами,
поддерживающими одинаковый формат
чисел с плавающей точкой (все
проблемы, связанные с
перестановкой байтов, берет на
себя MySQL).
Имеющиеся в MySQL файлы данных и
индексные файлы типа ISAM
(.ISD и *.ISM
соответственно) являются
архитектурно-независимыми, а в
ряде случаев - зависимыми от
операционной системы. Для переноса
приложений на компьютер с
архитектурой или операционной
системой, которые отличаются от
используемых на исходном
компьютере, не следует пытаться
перенести базу данных путем
простого копирования файлов на
другой компьютер. Используйте
вместо этого mysqldump.
По умолчанию mysqldump
создаст файл со всеми командами SQL.
После этого данный файл можно
перенести на другой компьютер и
подать его на вход клиента
mysql.
Используя mysqldump --help,
просмотрите все доступные опции.
При перемещении данных на более
новую версию MySQL следует применять
mysqldump --opt более новой
версии, чтобы получить быструю и
компактную копию.
Самый простой (хотя и не самый быстрый) способ перемещения базы данных с компьютера на компьютер - запустить на компьютере, где размещается исходная база данных, следующие команды:
shell>mysqladmin -h 'other hostname' create db_nameshell>mysqldump --opt db_name \| mysql -h 'other hostname' db_name
Если вы хотите скопировать базу данных с удаленного компьютера через медленную сеть, то можно использовать:
shell>mysqladmin create db_nameshell>mysqldump -h 'other hostname' --opt --compress db_name \| mysql db_name
Можно также сохранять результат в файле, затем передавать этот файл на требуемый компьютер и загружать этот файл в расположенную там базу данных. Например, можно скопировать базу данных в файл на исходном компьютере как показано ниже:
shell> mysqldump --quick db_name | gzip > db_name.contents.gz
(Созданный в данном примере файл сжимается). Передайте этот файл с содержимым базы данных на требуемый компьютер и запустите там эти команды:
shell>mysqladmin create db_nameshell>gunzip < db_name.contents.gz | mysql db_name
Для выполнения передачи базы
данных можно также использовать
mysqldump и mysqlimport.
В случае больших таблиц это
намного более быстрый способ, чем
простое применение
mysqldump. В следующих
командах DUMPDIR
представляет собой полный путь к
каталогу, используемому для
хранения вывода из mysqldump.
Во-первых, создайте каталог для файлов вывода и дампа базы данных:
shell>mkdir DUMPDIRshell>mysqldump --tab=DUMPDIR db_name
Затем передайте эти файлы в
каталог DUMPDIR некоторого
соответствующего каталога на
требуемом компьютере и загрузите
там данные файлы в MySQL:
shell>mysqladmin create db_name # создание базы данныхshell>cat DUMPDIR/*.sql | mysql db_name # создание таблиц в базе данныхshell>mysqlimport db_name DUMPDIR/*.txt # загрузка данных в таблицы
Помимо этого, не забудьте
скопировать базу данных
mysql, поскольку в ней
хранятся таблицы привилегий
(user, db,
host). Возможно, на новом
компьютере будет нужно запустить
команды в качестве пользователя
root MySQL, пока база данных
mysql не займет свое место.
После импорта базы данных
mysql на новый компьютер
выполните mysqladmin
flush-privileges, чтобы сервер
перезагрузил информацию в
таблицах привилегий.
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.
© 1995-2005 MySQL AB. All rights reserved.
