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
있습니까? 무슨 일이야?
편집하다:
GAH와 지금은 작동합니다. FLUSH PRIVILEGES를 이전에 실행하지 않았을 수 있습니다.
옆으로, 얼마나 자주 자동으로 발생합니까?
편집하다:
아니요, 작동하지 않습니다. mysqldump -u username -p --all-databases > dump.sql
수동으로 실행 해도 오류는 발생하지 않지만 information_schema는 덤프하지 않습니다. automysqlbackup
오류가 발생합니다.
mysqldump
: mysqldump가 INFORMATION_SCHEMA 데이터베이스를 덤프하지 않습니다. 명령 행에서 해당 데이터베이스의 이름을 명시 적으로 지정하면, mysqldump는 자동으로 데이터베이스를 무시합니다. man 페이지가 오래되었거나 (경고가 발생 함) 또는automysqlbackup
에 대한 덤프에서 추가 검사를 수행하는 것 같습니다information_schema
. 어느 것이 확실하지 않지만 사용자 보조금과 관련이 없습니다.