MySQLで存在しないユーザーを削除したときにエラーになるのを回避する方法を調べました。
MySQL 5.7.6以降
MySQL 5.7.6以降ではDROP USER構文でIF EXISTSオプションが利用できる。
DROP USER IF EXISTS user
MySQL 5.7.5以前
IF EXISTSオプションが使えないため、DROP USER構文で存在しないユーザーを削除しようとするとエラーになる。これを回避するために、GRANT構文でユーザー権限を権限なし(USAGE)に変更(ユーザーが存在しない場合には作成される)してからDROP USERを実行する。
GRANT USAGE ON *.* TO user IDENTIFIED BY password;
DROP USER user;
※ このSQLはMySQL 5.7.6以降では以下の警告が出る。
1287 Using GRANT statement to modify existing user's properties other than privileges is deprecated and will be removed in future release. Use ALTER USER statement for this operation.