Резервное копирование и восстановление MySQL из командной строки

by itisgood

Предположения

  • У вас есть доступ к Unix-подобному терминалу
  • У вас есть пароль или пользователь root MySQL, или пароль другого пользователя с доступом к базе данных

Резервное копирование

Резервное копирование одной базы данных

Резервное копирование одной базы данных в текстовый файл, содержащий команды sql для восстановления таблиц и их данных

mysqldump -u [user] -p [database_name] > [filename].sql

Резервное копирование одной базы данных в gzipped версию файла sql

mysqldump -u [user] -p [database_name] | gzip > [file_name].sql.gz

Резервное копирование одной базы данных в сжатый SQL-файл bz2.

mysqldump -u [user] -p [database_name] | bzip2 > [file_name].sql.bz2

Обычно вы можете загружать файлы gz и bz2 непосредственно в базу данных с помощью PHPMyAdmin, так что это хорошая идея для сжатия outpud.

Резервное копирование нескольких баз данных

Вы можете одновременно создавать резервные копии нескольких баз данных.

mysqldump -u [user] -p –databases [database_name_1] [database_name_2] [database_name_n] > [filename].sql

Вы можете использовать те же параметры, что и для единой базы данных, для сжатия вывода команды mysqldump.

Резервное копирование всех баз данных

mysqldump -u [user] -p –all-databases > [file_name].sql

Это приведет к удалению всех баз данных в один файл, и вы можете использовать этот файл для восстановления сразу всех баз данных.

Это очень полезно для переноса ваших баз данных с одного сервера на другой.

Восстановление

Используя файл дампа, можно восстановить базу данных со всеми ее таблицами на новый сервер MySQL.

Создать базу данных

mysql -u [user] -p

Поле [user] в этом случае обычно будет root. В mysql> root.

create database [database_name];

Создайте пользователя для этой базы данных, на самом деле это не нужно, но это хорошая мера безопасности.

grant all privileges on [database_name].* to [new_user]@[hostname] identified by [new_user_password];

exit;

Еще раз в командной строке Linux.

Восстановить файл дампа базы данных

mysql -u [new_user] -p [database_name] < [file_name].sql

Если файл был сжат, сначала нужно скомпилировать его.

gunzip [file_name].sql.gz

bunzip2 [file_name].sql.bz2

You may also like

Leave a Comment