Использование следующего скрипта для резервного копирования базы данных (не все, только один из них).
#!/usr/bin/php
<?php
$file = "/home/southel2/public_html/archives/BACKUPS/backup.sql";
$backupFile = $dbname.date("Y-m-d-H-i-s").".zip";
$command = "mysqldump user=###_### --password=### --databases=###_### > $file";
system($command);
?>
Получение этой ошибки в электронном письме cron:
Content-type: text/html; charset=UTF-8Warning: mysqldump: ignoring option '--databases' due to invalid value 'southel2_archives'
mysqldump: Got error: 1045: Access denied for user 'southel2'@'localhost' (using password: YES) when trying to connect
Нет записей, добавленных в журнал ошибок.
Любой совет?
Это ошибка разрешения. Вы или кто-то с доступом к MySQL должен показать гранты за 'southel2'@'localhost'
:
mysql> SHOW GRANTS for 'southel2'@'localhost';
Поскольку вы говорите, что имя пользователя и пароль верны, одна из возможностей заключается в том, что хост не верен. Гранты на 'southel2'@'1.2.3.4'
например, не позволит вам подключиться с другого хоста, как 5.6.7.8
,
Другая возможность состоит в том, что у вас нет необходимых разрешений, чтобы делать то, что нужно для mysqldump. В дополнение к SELECT
, тебе нужно LOCK TABLES
а также возможно больше, в зависимости от того, что в базе данных.
Других решений пока нет …