Предположения
- У вас есть доступ к 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