Как создать резервную копию базы данных SQL с помощью PHP?


Как создать резервную копию базы данных SQL с помощью PHP.

Существует ли независимый от поставщика способ сделать это, соответствующий ANSI SQL?

Если нет, может быть, вы можете перечислить, как это сделать для каждого из поставщиков баз данных?

Author: Gary Willoughby, 2008-11-02

4 answers

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

Вы можете просто вызвать эту программу из PHP, используя system() или shell_exec().

Например, если вы используете PostgreSQL с включенной аутентификацией идентификатора и хотите сбросить базу данных test непосредственно в виде текста SQL в браузер, это так же просто как: {[0]}

При использовании MySQL с пользователем базы данных и паролем, сохраненными в ~/.my.cnf, это также очень просто: {[1]}

Однако не делайте этого: {[2]} потому что передача пароля в качестве аргумента командной строки очень небезопасна.

 6
Author: vog, 2008-11-02 14:43:45

Я люблю phpmybackuppro

 1
Author: kevtrout, 2008-11-02 14:23:44

Это довольно сложный процесс. Я рекомендую вам использовать phpmyadmin или аналогичный.

 0
Author: moo, 2008-11-02 14:35:18

Хотя резервное копирование базы данных, "соответствующей ANSI SQL", возможно и достойно восхищения, вы все равно столкнетесь с проблемами переносимости. Наиболее очевидным является то, что, хотя формат дампа/восстановления MySQL довольно быстр, он достигает этого главным образом за счет использования нестандартного расширения для SQL. Таким образом, вы не можете просто передать дамп в PostgreSQL: это не сработает. На самом деле, PostgreSQL также довольно медленно обрабатывает огромное количество инструкций INSERT. Это собственный формат дампа, использующий собственный пользовательский оператор SQL оптимизирован для одновременной вставки большого объема данных.

 0
Author: staticsan, 2008-11-03 00:52:16