Каждая система баз данных поставляется с некоторой программой для выгрузки ее содержимого.
Вы можете просто вызвать эту программу из PHP, используя system()
или shell_exec()
.
Например, если вы используете PostgreSQL с включенной Идентификационной аутентификацией и хотите выгрузить базу данных test
напрямую как текст SQL в браузер, это так просто:
<?php
header('Content-type: text/plain');
system('pg_dump test');
?>
При использовании MySQL с пользователем базы данных и паролем, хранящимся в ~/.my.cnf
, это также очень просто:
<?php
header('Content-type: text/plain');
system('mysqldump test');
?>
Однако, не делайте этого:
<?php
header('Content-type: text/plain');
system('mysqldump -utestuser -p<b>testpassword</b> test');
?>
потому что передача пароля в качестве аргумента командной строки очень небезопасно .