Модернизация к иной архитектуре
При использовании 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_name shell> mysqldump --opt db_name \ | mysql -h "other hostname" db_name
Если вы хотите скопировать базу данных с удаленного компьютера через медленную сеть, то можно использовать:
shell> mysqladmin create db_name shell> 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_name shell> gunzip < db_name.contents.gz | mysql db_name
Для выполнения передачи базы данных можно также использовать mysqldump и mysqlimport . В случае больших таблиц это намного более быстрый способ, чем простое применение mysqldump . В следующих командах DUMPDIR представляет собой полный путь к каталогу, используемому для хранения вывода из mysqldump .
Во-первых, создайте каталог для файлов вывода и дампа базы данных:
shell> mkdir DUMPDIR shell> 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 , чтобы сервер перезагрузил информацию в таблицах привилегий.
1 2 3 4 5
8 8 8
|