MySQLでユーザの情報を取得する方法です。
ユーザ一覧を取得する
SELECT User, Host, Password FROM mysql.user;
ユーザ権限を確認する
SHOW GRANTS FOR root@'%';
SHOW GRANTS FOR root@localhost;
SHOW GRANTS FOR root@'127.0.0.1';
...
ユーザ一覧からshow grants文を作る
SELECT concat('show grants for ''', User, '''@''', Host, '''') FROM mysql.user;
cilから非対話でshow grants文を取得
mysqlの"-e"オプションを使って、非対話で結果を取得する方法です。
mysql -u root -e "SELECT concat('show grants for ''', User, '''@''', Host, ''';') FROM mysql.user;"
cliでgrants文をダンプ
上記の処理でshow grants文を取得し、さらに非対話でそれを実行する方法です。
mysql -u root -e "SELECT concat('show grants for ''', User, '''@''', Host, ''';') FROM mysql.user;" -N | mysql -u root -N
mysql.userにある*_priv列の意味
テーブルを検索した結果Nになっている場合は、"権限"に書かれた操作を行えません
こちらもおススメ