Korzystam ze automysqlbackup
skryptu, aby zrzucić moje bazy danych mysql, ale chcę mieć do tego użytkownika tylko do odczytu, aby nie przechowywać hasła mojej głównej bazy danych w pliku zwykłego tekstu.
Stworzyłem takiego użytkownika:
grant select, lock tables on *.* to 'username'@'localhost' identified by 'password';
Po uruchomieniu mysqldump
( automysqlbackup
bezpośrednio lub bezpośrednio) pojawia się następujące ostrzeżenie:
mysqldump: Got error: 1044: Access denied for user 'username'@'localhost' to database 'information_schema' when using LOCK TABLES
Czy robię to źle? Czy potrzebuję dodatkowych dotacji dla mojego użytkownika tylko do odczytu? Czy może tylko root
zablokować information_schema
stół? Co się dzieje?
Edytować:
GAH i teraz to działa. Być może wcześniej nie uruchomiłem FLUSH PRIVILEGES.
Nawiasem mówiąc, jak często dzieje się to automatycznie?
Edytować:
Nie, to nie działa. Uruchamianie mysqldump -u username -p --all-databases > dump.sql
ręczne nie generuje błędu, ale nie zrzuca schematu informacji. automysqlbackup
zgłasza błąd.
mysqldump
: mysqldump nie zrzuca bazy danych Information_SCHEMA. Jeśli nazwiesz tę bazę danych wprost w wierszu poleceń, mysqldump po cichu ignoruje ją. Wygląda na to, że albo strona podręcznika jest nieaktualna (i wyświetla ostrzeżenie), alboautomysqlbackup
wykonuje dodatkowe kontrole zrzutuinformation_schema
. Nie jestem pewien, co to jest, ale nie ma to związku z przyznawaniem dotacji przez użytkowników.