Korzystam ze automysqlbackupskryptu, 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( automysqlbackupbezpoś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 rootzablokować information_schemastół? 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.sqlręczne nie generuje błędu, ale nie zrzuca schematu informacji. automysqlbackupzgł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), alboautomysqlbackupwykonuje dodatkowe kontrole zrzutuinformation_schema. Nie jestem pewien, co to jest, ale nie ma to związku z przyznawaniem dotacji przez użytkowników.