mysqldumpのアクセス拒否エラー

さくらのレンタルサーバー(スタンダード)でデータベースを毎日バックアップするようcronで設定していた。

が、

2020年12月10日からエラーを吐くようになった。

mysqldump: Error: 'Access denied; you need (at least one of) the PROCESS privilege(s) for this operation' when trying to dump tablespaces

PROCESS権限とやらが必要らしい。

エラーが出る条件

原因と対策を調べてみたが、もともとよそ様が公開してくださっているスクリプトをアレコレして利用していたのでコマンド自体がよくわっていない。

さくらで取っているプランが20ほどあるので、それぞれの条件とエラーの有無を照らし合わせた結果「MySQL 5.7のせい」ということになった。

改めて解決方法を検索

mysqldumpでPROCESS権限(PROCESS privilege)を要求される

上記の方が記事にされている通り、--no-tablespacesオプションでエラーは出なくなった。ありがとうございます。

テーブルスペースとは

--no-tablespacesは、「 CREATE LOGFILE GROUP ステートメントおよびCREATE TABLESPACE ステートメントを抑制」するオプションらしい。

どちらも使われていなかったので、オプション追加前後でバックアップされた内容には変化が無かった。

MySQLは5.7.28から5.7.32になっていた。

この記事が気に入ったらサポートをしてみませんか?