Команда SQL для резервного копирования и восстановления базы данных MySQL

Необходимо предоставить эту возможность одним нажатием кнопки в моем веб-приложении. Можно сделать с помощью mysqldump, но для этого мне нужно запустить внешний процесс? (командная строка)

Существует ли простой SQL-запрос, позволяющий создавать резервные копии и восстанавливать базы данных? (особенно для MySQL)


person Sameet    schedule 16.05.2009    source источник


Ответы (3)


Если вы используете MySQL 6, все в порядке — см. http://dev.mysql.com/doc/refman/6.0/en/backup-database-restore.html. Если вы используете MySQL 5, все не так радужно — вам, вероятно, лучше подойдет подход mysqldump/внешний процесс.

person Alex Martelli    schedule 16.05.2009
comment
Первая ссылка устарела - person Code Pope; 03.01.2019

mysqldump, вероятно, ваш лучший выбор. Вы можете сохранить строки таблицы с помощью SELECT ... INTO OUTFILE и перезагрузите его с помощью LOAD DATA INFILE, но вам нужно сделать это таблица за таблицей и записать схемы таблиц в другой файл для полной резервной копии.

Что плохого в создании процесса для запуска mysqldump?

person Paul Dixon    schedule 16.05.2009
comment
Последняя ссылка устарела - person Code Pope; 03.01.2019
comment
Спасибо, я удалил это - person Paul Dixon; 10.01.2019

Вы можете вызвать внешние исполняемые файлы командной строки здесь — хорошее введение в это.

Или вы запускаете пару запросов (как это делает PHPMyAdmin) и сохраняете результат где-то самостоятельно.

Но для этого нет простого запроса «одна команда».

person MrFox    schedule 16.05.2009
comment
какова будет пара запросов? - person Sameet; 16.05.2009