Я нашел код в предыдущем столбце Stackoverflow, который очень прост и запускает команду mysqldump. Я могу запустить эту команду в оболочке как root без проблем. Но когда я просматриваю PHP, файл резервной копии никогда не создается.
<?php
$backupFile = "/var/www/html/mysql-bak/my_dbname-".date("Y-m-d-H-i-s").".sql";
$command = "mysqldump --opt -u root -pmypassword my_dbname > $backupFile";
system($command);
?>
Это должна быть проблема с разрешениями, когда служба Apache пытается записать файл, верно? Я создал каталог /var/www/html/mysql-bak/и сделал chgrp и chown, чтобы сделать владеющего пользователя "mysql" и владеющей группы "mysql". В отчаянии я добавил пользователя "apache" как член группы "mysql", но это все еще не исправляло.
На самом деле я смог исправить это, просто запустив "apache" в качестве владельца этого каталога.