LoginSignup
3
1

More than 5 years have passed since last update.

SELECT権限だけでmysqldumpできることがある

Posted at

公式サイトには、最低限SELECT, SHOW VIEW, TRIGGER, LOCK TABLESが必要と記載されています。
しかし特定のInnoDBデータベースをmysqldumpする場合、最低限SELECT権限だけで対応できます。

MySQL権限 解説
SHOW VIEW 対象データベースにビューがなければOK
TRIGGER 対象データベースにトリガーがなければOK
存在してもdump不要なら--skip-triggersオプションでOK
LOCK TABLES 対象データベースがInnoDBなら--single-transactionオプションでOK

コマンド例

mysqldump -uyouruser yourdatabase --single-transaction

そのほかに必要なオプションは適宜追加してください。
(追加権限が必要なオプションもあります)

サーバにある全てのデータベースをdumpしたい

追加でロック権限が必要です。MySQL 5.6まではSYSTEM系データベースはMyISAMなので。
SYSTEM系データベースの整合性を保証しなくてよいならロック不要のようです。

ビュー定義は必要ないが、ビューを含むデータベースをdumpしたい

ビューはテーブルに近い扱いなので--ignore-table=table1.viewname1 --ignore-table=table2.viewname2
というオプションで無視する方法があります。

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1