Недавно, в очередной раз, понадобилось сделать снимок работающей базы данных MySQL и развернуть его в другом месте. Этот метод сохраняет ВСЕ базы данных в один файл, который может быть импортирован на другом сервере. Для этого понадобится учетная запись root MySQL сервера.
Экспортируем:
# mysqldump -u root -p $PASS --all-databases > MyDUMP.sql
Импортируем:
# mysql -u root -p $PASS < MyDUMP.sql
Так же возможен экспорт/ импорт одной базы данных:
# mysqldump -uroot -p $PASS <my_database> > MyDUMP.sql
Операцию переноса данных можно провернуть даже не имея пароля root для MySQL:
Экспорт:
# service mysqld stop Stopping mysqld: [ OK ] # mysqld_safe --skip-grant-tables & # mysqldump --all-databases > MyDUMP.sql # service mysqld stop Stopping mysqld: [ OK ] # service mysqld start Starting mysqld: [ OK ]
Импорт:
# service mysqld stop Stopping mysqld: [ OK ] # mysqld_safe --skip-grant-tables & # mysql -u root < MyDUMP.sql # service mysqld stop Stopping mysqld: [ OK ] # service mysqld start Starting mysqld: [ OK ]