Создание резервных копий баз данных очень важная задача, которую нужно время от времени выполнять. Для решения данной задачи можете воспользоваться командой exec(). Выбирая между shell_exec() и exec(), советуем выбрать второе. В результате нам не будет выведен весь SQL код. Данные просто запишутся в файл. Данная команду будет: выполнять команду mysqldump с набором нужных параметров, записывать данные в файл. Пример:
mysqldump --user=... --password=... --host=... DB_NAME > /path/to/output/file.sql
PHP код будет выглядеть так:
exec('mysqldump --user=... --password=... --host=... DB_NAME > /path/to/output/file.sql');
Вместо знака ... необходимо подставить имя пользователя базы данных, пароль и хост.
Помимо этого, выполнение данного файла можно подсадить на крон, поэтому имя файла можно генерировать автоматически, используя функцию даты и времени.
exec('mysqldump --user=... --password=... --host=... DB_NAME > /path/to/output/' . date('Y-m-d') . '.sql');
Главная->Уроки по php->Генерация резервной копии базы данных MySQL в одну строку кода