J'utilise le automysqlbackup
script pour vider mes bases de données mysql, mais je veux avoir un utilisateur en lecture seule pour le faire afin que je ne stocke pas mon mot de passe de base de données racine dans un fichier en clair.
J'ai créé un utilisateur comme ça:
grant select, lock tables on *.* to 'username'@'localhost' identified by 'password';
Lorsque je cours mysqldump
( automysqlbackup
directement ou directement), j'obtiens l'avertissement suivant:
mysqldump: Got error: 1044: Access denied for user 'username'@'localhost' to database 'information_schema' when using LOCK TABLES
Suis-je en train de mal faire? Ai-je besoin de subventions supplémentaires pour mon utilisateur en lecture seule? Ou ne peut que root
verrouiller la information_schema
table? Que se passe-t-il?
Éditer:
GAH et maintenant ça marche. Je n'ai peut-être pas exécuté FLUSH PRIVILEGES auparavant.
En passant, à quelle fréquence cela se produit-il automatiquement?
Éditer:
Non, ça ne marche pas. L'exécution mysqldump -u username -p --all-databases > dump.sql
manuelle ne génère pas d'erreur, mais ne vide pas le schéma d'informations. automysqlbackup
soulève une erreur.
la source
mysqldump
: mysqldump ne vide pas la base de données INFORMATION_SCHEMA. Si vous nommez cette base de données explicitement sur la ligne de commande, mysqldump l'ignore silencieusement. Semble que la page de manuel est obsolète (et qu'elle déclenche un avertissement), ouautomysqlbackup
effectue des vérifications supplémentaires sur le vidage pourinformation_schema
. Je ne sais pas de quoi il s'agit, mais ce n'est pas lié aux subventions des utilisateurs.Réponses:
Ces autorisations devraient être tout ce dont vous avez besoin pour mysqldump.
Étant donné que vous avez accordé LOCK TABLES, et qu'il est erroné sur LOCK TABLES, il semble que les autorisations soient incohérentes. Avez-vous exécuté un
FLUSH PRIVILEGES
?la source
Oups ... de la page de manuel pour
mysqldump
:Il semble que la page de manuel soit obsolète (et déclenche un avertissement) ou
automysqlbackup
effectue des vérifications supplémentaires sur le vidageinformation_schema
.Je ne sais pas de quoi il s'agit, mais ce n'est pas lié aux subventions des utilisateurs.
Éditer
Oui, c'est un bogue dans la
automysqlbackup
version 2.5.1 (en utilisant MySQL 5.1.41 sous Ubuntu 10.04) - il essaie de sauvegarderinformation_schema
quand il ne devrait pas.CORRECTIF: ajoutez
information_schema
à à laDBEXCLUDE
ligne 76 du script.la source
Créer un utilisateur
Vérifier les privilèges
Utilisez votre éditeur préféré pour créer un fichier
~/.my.cnf
avecchmod 400
Créer un dossier pour les vidages, comme exemple
Vérifiez si cela fonctionne
En option , vous pouvez faire des décharges
daily
etweekly
puis tout ledaily
mois plus alorsla source