3.15 Копирование баз данных MySQL на другой компьютер
В тех случаях, когда вам нужно перенести базы данных между различными архитектурами, вы можете использовать mysqldump для создания файла, содержащего SQL-команды. Затем вы можете перенести этот файл на другой компьютер и использовать его в качестве входных данных для клиента mysql.
Используйте mysqldump --help для просмотра доступных опций.
Если на сервере, где вы создаёте дамп, используются GTID (gtid_mode=ON), по умолчанию, mysqldump включает в дамп содержимое набора gtid_executed для переноса их на новый компьютер. Результаты могут варьироваться в зависимости от используемых версий MySQL Server. Проверьте описание опции mysqldump's --set-gtid-purged, чтобы узнать, что происходит с вашими версиями и как изменить поведение, если результат по умолчанию не подходит для вашей ситуации.
Самый простой (хотя и не самый быстрый) способ перемещения базы данных между двумя компьютерами — выполнить следующие команды на компьютере, где расположена база данных:
mysqladmin -h 'other_hostname' create db_name
mysqldump db_name | mysql -h 'other_hostname' db_name
Если вы хотите скопировать базу данных с удалённого компьютера по медленному сети, вы можете использовать следующие команды:
mysqladmin create db_name
mysqldump -h 'other_hostname' --compress db_name | mysql db_name
Вы также можете сохранить дамп в файл, перенести его на целевой компьютер и затем загрузить его в базу данных. Например, вы можете создать сжатый дамп базы данных на исходном компьютере так:
mysqldump --quick db_name | gzip > db_name.gz
Перенесите файл с содержимым базы данных на целевой компьютер и выполните там следующие команды:
mysqladmin create db_name
gunzip < db_name.gz | mysql db_name
Вы также можете использовать mysqldump и mysqlimport для переноса базы данных. Для больших таблиц это намного быстрее, чем просто использование mysqldump. В следующих командах DUMPDIR представляет полное имя пути к директории, которую вы используете для хранения выходных данных от mysqldump.
Сначала создайте директорию для выходных файлов и создайте дамп базы данных:
mkdir DUMPDIR
mysqldump --tab=DUMPDIR
db_name
Затем перенесите файлы из директории DUMPDIR в соответствующую директорию на целевом компьютере и загрузите файлы в MySQL:
mysqladmin create db_name # create database
cat DUMPDIR/*.sql | mysql db_name # create tables in database
mysqlimport db_name
DUMPDIR/*.txt # load data into tables
Не забудьте скопировать базу данных mysql, потому что именно там хранятся таблицы разрешений. Возможно, вам придётся запускать команды как пользователь MySQL root на новом компьютере до тех пор, пока база данных mysql не будет установлена.
После импорта базы данных mysql на новый компьютер выполните mysqladmin flush-privileges, чтобы сервер перезагрузил информацию из таблицы разрешений.
© 2025 Oracle
Licensed under the GPLv2 License.