先日、 mysqldump
でAWS RDSインスタンス(aurora)に繋いでデータをdumpしようとしたら、見たことがないErrorが発生していたので調べました。
mysqldump: Error: 'Access denied; you need (at least one of) the PROCESS privilege(s) for this operation' when trying to dump tablespaces
原因
調べてみると、MySQLバージョンのアップグレードの影響で tablespace
の情報にアクセスするには PROCESS
権限が必要になったことが原因であるということがわかりました。
対応方法
tablespace
の情報は不要だったので、MySQL公式のページに書いてあった通り--no-tablespaces
を付けてmysqldumpを実行したら、エラーが発生しなくなりました。
他の方法としては、dumpするユーザにPROCESS
権限をつけて対処することもでき、tablespace
を含めてdumpしたい場合には権限をつけると良さそうです。
エラー発生の状況
dumpの方法
以下のようにしてdumpしていました。
$ mysqldump -u [DBユーザー] -p[DBパスワード] -h [DBホスト] [データベース名] > backup.sql
エンジン
以下のMySQL 5.6互換のAuroraでエラーが発生していました。エンジンは 5.6.mysql_aurora.1.23.1
。
docs.aws.amazon.com