Хорошая статья написана на тему использования mysqldump тут. Ниже представлена выжимка из нее с моими комментариями и дополнениями:
Бэкап
Бэкап одной или нескольких таблиц
mysqldump -u username -p db_cooper mystery cash > file_name.sqlmysteryиcash- таблицыdb_cooper- база данных
Для бэкапа одной таблицы будет использоваться идентичный синтаксис:
mysqldump -u username -p db_cooper mystery > file_name.sqlБэкап определенных или всех баз данных
mysqldump -u username -p --databases db_larry db_curly db_moe > file_name.sqlДля бэкапа одной базы будет использоваться идентичный синтаксис:
mysqldump -u username -p --databases db_larry > file_name.sqlДля бэкапа всех баз данных будет использоваться:
mysqldump -u username -p --all-databases > all_databases.sqlБэкап базы данных, но и исключением определенных таблиц:
mysqldump -u username -p database_name --ignore-table=database_name.table1 --ignore-table=database_name.table2 > database_backup.sqldatabase_name- имя базыtable1,table2- таблицы, которые будем игнорировать из данной базы
Бэкап структуры базы данных
При этом варианте будет совершен бэкап базы данных со всей структурой: названия таблиц, индексы и так далее, но самих данных не будет:
mysqldump --no-data -u username -p database_name > database_structure.sqldatabase_name- имя базы
Восстановление данных из созданного дампа
В любом случае необходимо, для начала, переместить созданный дамп на целевой сервер:
scp otulashvili@h1-project2-con:/home/otulashvili/dump_project2_local.sql.gz otulashvili@dev-project2-con:/home/otulashvili/Затем я распакую архив на целевом сервере:
gzip -d -k dump_project2_local.sql.gzТак как в моем дампе отсутствует процесс создания баз, я сначала создам их вручную:
otulashvili@dev-project2-con [project2] :~ $ sudo mysql --defaults-file=/etc/mysql/my.cnf -e "create database project2"
otulashvili@dev-project2-con [project2] :~ $ sudo mysql --defaults-file=/etc/mysql/my.cnf -e "create database Ip2location"А затем запущу импорт дампа:
sudo mysql --defaults-file=/etc/mysql/my.cnf project2 < dump_project2_local.sqlproject2- это название базы данных, в которую я буду импортировать дамп
Для проверки, что дамп точно был совершен корректно проверим наличие импортированных баз и таблиц в них:
show databases;
SHOW TABLES FROM project2;На этом, пока, я закончу. Буду дополнять по мере изучения новой информации