MySQLでrootユーザーの権限(GRANTS)を確認する方法
MySQLで特定のユーザーに付与されている権限を確認したい場合は、SHOW GRANTSステートメントを使用します。この記事では、rootユーザーの権限を表示する方法を、実際の構文と実行例を交えて解説します。
SHOW GRANTSの基本構文
ユーザーの権限を表示するには、以下の構文を使用します。
SHOW GRANTS FOR 'ユーザー名'@'ホスト名';
ホスト名には、すべてのホストを意味する「%」、またはローカル接続を意味する「localhost」を指定できます。
rootユーザーの権限を表示する実行例
それでは、実際にrootユーザー(ホスト: %)に付与されている権限を表示してみましょう。
mysql> SHOW GRANTS FOR 'root'@'%';
実行結果
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Grants for root@% | +--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, SHUTDOWN, PROCESS, FILE, REFERENCES, INDEX, ALTER, SHOW DATABASES, SUPER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER, CREATE TABLESPACE, CREATE ROLE, DROP ROLE ON *.* TO `root`@`%` WITH GRANT OPTION | | GRANT BACKUP_ADMIN,BINLOG_ADMIN,CONNECTION_ADMIN,ENCRYPTION_KEY_ADMIN,GROUP_REPLICATION_ADMIN,PERSIST_RO_VARIABLES_ADMIN,REPLICATION_SLAVE_ADMIN,RESOURCE_GROUP_ADMIN,RESOURCE_GROUP_USER,ROLE_ADMIN,SET_USER_ID,SYSTEM_VARIABLES_ADMIN,XA_RECOVER_ADMIN ON *.* TO `root`@`%` | +--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 2 rows in set (0.17 sec)
実行結果の見方
この出力からは、以下のことが読み取れます。
- 最初の行: SELECT、INSERT、UPDATE、DELETEなどの基本的なデータ操作権限に加え、CREATE USERやREPLICATIONなど、データベース全体(*.*)に対する管理権限が付与されていることがわかります。末尾のWITH GRANT OPTIONは、rootが他のユーザーに権限を付与できることを示しています。
- 2行目: BACKUP_ADMINやSYSTEM_VARIABLES_ADMINなど、MySQL 8.0で追加された動的な管理権限が表示されています。
なお、SHOW GRANTSを実行するには、mysql.userシステムテーブルに対するSELECT権限、または自身のアカウントに対する権限確認である必要があります。rootユーザーでログインしていれば、制限なく実行できます。
-
MySQLコマンドラインでデータベースを作成する方法を初心者向けに解説
MySQLコマンドラインでデータベースを作成する手順 この記事では、WindowsのコマンドプロンプトからMySQLに接続し、データベースを作成する一連の手順をスクリーンショット付きで解説します。初心者の方でも迷わず進められるよう、順番に見ていきましょう。 1. コマンドプロンプトを開く まず、コマンドプロンプトを起動します。キーボードのショートカット「Windows + R」キーを押すと、「ファイル名を指定して実行」ダイアログが表示されます。 2. 「CMD」と入力してOKをクリック 表示された入力欄に CMD と入力し、「OK」ボタンをクリックしてください。 3. コマンドプロンプトが
-
MySQLプログラムでオプションを指定する3つの方法と優先順位を解説
MySQLの各種プログラムでは、動作をカスタマイズするためにさまざまなオプションを指定できます。本記事では、MySQLプログラムにオプションを指定する主な方法と、それぞれの特徴・優先順位について詳しく解説します。1. コマンドラインで指定するプログラム名を入力した後に、コマンドライン上へ直接オプションを並べて指定する方法です。この方法は、その実行時にのみ適用したい一時的なオプションを指定する場合に最も一般的に使われます。2. オプションファイルで指定するプログラムが起動時に読み込むオプションファイル(my.cnf や my.ini など)にオプションを記述しておく方法です。毎回プログラムを実行