harumaki.net

インフラ屋の覚書や、ラーメン食べある記とか。

DB MySQL

[MySQL]mysqlのGRANT情報を抜粋するシェルスクリプト

投稿日:2014年5月29日

Last Updated on 2021年7月4日 by かんりにん

 
ただの道具。
DBサーバーの現状調査用に。

mysql_grant_export.sh

#!/bin/bash

    mysql -uroot -p<パスワードを入れる> -e "select user,host from mysql.user" | sed -e 's/\t/\ @/g' > mysql.user.txt

    touch grant_export.txt

while read LINE
    do
        mysql -uroot -p<パスワードを入れる> -e "SHOW GRANTS FOR ${LINE}" >> grant_ export.txt
    done < mysql.user.txt

    #rm -f mysql.user.txt
exit 0

mysql.user.txt 出力例

※一番上の”user@host”は行頭の項目なので無視で。または削除する。

user@host
root@127.0.0.1
repl@172.16.128.0/255.255.255.0
productuser@172.16.128.11
productuser@172.16.128.12
productuser@172.16.128.4
devuser@172.16.128.4
dump_user@172.16.128.8
productuser@172.16.128.8
devuser@172.16.128.8
root@::1
root@ip-172-16-128-11
@localhost
productuser@localhost
devuser@localhost
root@localhost

grant_export.txt 出力例

Grants for root@127.0.0.1
GRANT ALL PRIVILEGES ON *.* TO 'root'@'127.0.0.1' WITH GRANT OPTION
Grants for productuser@172.16.128.11
GRANT USAGE ON *.* TO 'productuser'@'172.16.128.11' IDENTIFIED BY PASSWORD '***************'
GRANT SELECT, INSERT, UPDATE, DELETE ON `productuseruction`.* TO 'productuser'@'172.16.128.11'
Grants for productuser@172.16.128.12
GRANT USAGE ON *.* TO 'productuser'@'172.16.128.12' IDENTIFIED BY PASSWORD '***************'
GRANT SELECT, INSERT, UPDATE, DELETE ON `productuseruction`.* TO 'productuser'@'172.16.128.12'
Grants for productuser@172.16.128.4
GRANT USAGE ON *.* TO 'productuser'@'172.16.128.4' IDENTIFIED BY PASSWORD '***************'
GRANT SELECT, INSERT, UPDATE, DELETE ON `productuseruction`.* TO 'productuser'@'172.16.128.4'
Grants for devuser@172.16.128.4
GRANT USAGE ON *.* TO 'devuser'@'172.16.128.4' IDENTIFIED BY PASSWORD '***************'
GRANT SELECT, INSERT, UPDATE, DELETE ON `pjt_development`.* TO 'devuser'@'172.16.128.4'
Grants for dump_user@172.16.128.8
GRANT SELECT, RELOAD, FILE, LOCK TABLES, SHOW VIEW ON *.* TO 'dump_user'@'172.16.128.8' IDENTIFIED BY PASSWORD '***************'
Grants for productuser@172.16.128.8
GRANT USAGE ON *.* TO 'productuser'@'172.16.128.8' IDENTIFIED BY PASSWORD '***************'
GRANT SELECT, INSERT, UPDATE, DELETE ON `productuseruction`.* TO 'productuser'@'172.16.128.8'
Grants for devuser@172.16.128.8
GRANT USAGE ON *.* TO 'devuser'@'172.16.128.8' IDENTIFIED BY PASSWORD '***************'
GRANT SELECT, INSERT, UPDATE, DELETE ON `pjt_development`.* TO 'devuser'@'172.16.128.8'
Grants for productuser@localhost
GRANT USAGE ON *.* TO 'productuser'@'localhost' IDENTIFIED BY PASSWORD '***************'
GRANT ALL PRIVILEGES ON `productuseruction`.* TO 'productuser'@'localhost'
Grants for devuser@localhost
GRANT USAGE ON *.* TO 'devuser'@'localhost' IDENTIFIED BY PASSWORD '***************'
GRANT ALL PRIVILEGES ON `pjt_development`.* TO 'devuser'@'localhost'
Grants for root@localhost
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY PASSWORD '***************' WITH GRANT OPTION
GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION

 

-DB, MySQL
-,

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


関連記事

no image

ただのメモ:mysqladmin pingで起動確認

  mysqladminを実行する際にpingオプションをつけると、指定したホストのmysqldの稼働状態を確認してくれる。 簡単な監視に良いかも。 $ mysqladmin -h -uroot -p …

[DB]FireBird テストDBで遊んでみる

アカウントを作ったところで、データベースへログインしてみました。 -参考:お世話になっております! サンプル・データベースへの接続 インストール直後に、/var/lib/firebird/data/以 …

no image

[MySQL] Percona xtrabackupを試す(Ver2.0.8)リストア編

percona xtrabackupを使って作成したバックアップファイルをリストアする方法。 バックアップを取ったらリストアを検証しなくちゃね、ということで早速インスタンスをコピーして試してみることに …

no image

[MySQL] “Lost connection to MySQL server during query (2013)”が出たので調べてみた

  お客さんのシステムのMySQL DBサーバーにて、バックアップ用にmysqldumpのジョブをcronで実行していたところ ある日を境に“Lost connection to MySQ …

no image

[MySQL]mysqlbinlog[メモ]

[pukiwiki] バイナリログには実行したSQL文その他が記録されているので、リカバリに利用することができる。 my.cnfに設定し、デーモンを起動するとバイナリログが生成されるようになる。 -設 …