Я использую automysqlbackup
сценарий для выгрузки своих баз данных mysql, но я хочу, чтобы у меня был доступ только для чтения, чтобы я не сохранял пароль своей корневой базы данных в текстовом файле.
Я создал такого пользователя:
grant select, lock tables on *.* to 'username'@'localhost' identified by 'password';
Когда я бегу mysqldump
(через automysqlbackup
или напрямую), я получаю следующее предупреждение:
mysqldump: Got error: 1044: Access denied for user 'username'@'localhost' to database 'information_schema' when using LOCK TABLES
Я делаю это неправильно? Нужны ли мне дополнительные гранты для моего пользователя только для чтения? Или можно только root
заблокировать information_schema
стол? В чем дело?
Редактировать:
ГАХ и теперь это работает. Возможно, я раньше не запускал FLUSH PRIVILEGES.
Кроме того, как часто это происходит автоматически?
Редактировать:
Нет, это не работает. Запуск mysqldump -u username -p --all-databases > dump.sql
вручную не генерирует ошибку, но не выводит информационную_схему. automysqlbackup
действительно вызывает ошибку.
источник
mysqldump
: mysqldump не создает дамп базы данных INFORMATION_SCHEMA. Если вы в явном виде называете эту базу данных в командной строке, mysqldump молча игнорирует ее. Кажется, что либо страница руководства устарела (и она выдает предупреждение), либоautomysqlbackup
выполняет некоторые дополнительные проверки для дампаinformation_schema
. Не уверен, что это, но это не связано с грантами пользователей.Ответы:
Эти разрешения должны быть все, что нужно для mysqldump.
Так как вы предоставили LOCK TABLES, и это вызывает ошибку в LOCK TABLES, кажется, что разрешения не согласованы. Вы управляете
FLUSH PRIVILEGES
?источник
Упс ... со страницы руководства для
mysqldump
:Похоже, что либо страница руководства устарела (и она выдает предупреждение), либо
automysqlbackup
выполняет некоторые дополнительные проверки для дампа дляinformation_schema
.Не уверен, что это, но это не связано с грантами пользователей.
редактировать
Да, это ошибка в
automysqlbackup
версии 2.5.1 (с использованием MySQL 5.1.41 под Ubuntu 10.04) - он пытается сделать резервную копию,information_schema
когда не должен.ИСПРАВЛЕНИЕ: добавьте
information_schema
вDBEXCLUDE
строку 76 сценария.источник
Создать пользователя
Проверьте привилегии
Используйте свой любимый редактор для создания файла
~/.my.cnf
сchmod 400
Создать папку для дампов, просто как пример
Проверьте, работает ли это
При желании вы можете сделать дампы,
daily
аweekly
затем удалить всеdaily
старше месяцаисточник