MySQLでユーザーにTRUNCATE権限を付与する方法

こんにちは、TRYT開発課の成阪です。

アプリケーションから利用するDBユーザーの権限追加作業をやった際のメモです。

方法

MySQLでは TRUNCATE 単体では権限が用意されておらず、DROP権限と相乗りの形で用意されているので、GRANT DROPを対象のユーザーに付与すればOKです。

GRANT DROP ON `hogedb`.`fuga_table` TO 'tryt-app-user'@'%';

DROP 権限は TRUNCATE TABLE のためにも必要です。 MySQL :: MySQL 5.6 リファレンスマニュアル :: 6.2.1 MySQL で提供される権限

補足

PostgreSQLでは TRUNCATE単体の権限が用意されているため以下の構文で付与できます。

GRANT TRUNCATE ON `hogedb`.`fuga_table` TO 'tryt-app-user'@'%';

mysql grant truncate」で検索していてもPostgreSQLのページが引っかかったりするので注意です。

参考