No.30


【MySQL】データーベースのあれこれを確認

MySQLでデーターベースやテーブルの設定を確認する

 すでに稼働しているシステムの修正案件などに関わると、データベースの複製を作って作業する必要がよく出てくる。また、各テーブルの素性確認とか、カラムの関係性調査とかのためにテーブルの詳細情報もよく参照することになる。あとはユーザーの権限もよく見る。

 コマンド自体は凄く簡単なんだけど、いつもタイプミスしたりコマンド名をど忘れしたりするので備忘録がてらメモしておく。


create database 時のパラメータを確認する

 以下のコマンドで取得可能。

SHOW CREATE DATABASE データベース名;

 こんな感じでデーターベース作成コマンドが表示される。

mysql> show create database データベース名;
+-------------+----------------------+
| Database | Create Database |
+-------------+----------------------+
| データベース名 | CREATE DATABASE `データベース名` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci */ |
+-------------+----------------------+
1 row in set (0.00 sec)

create table 時のパラメータを確認する

 以下のコマンドで取得可能。

SHOW CREATE TABLE テーブル名;

 こんな感じでテーブル作成コマンドが表示される。

mysql> show create table テーブル名;
+-------+-----------------+
| Table | Create Table |
+-------+-----------------+
| テーブル名 | CREATE TABLE `テーブル名` (
`id` int(11) NOT NULL,
`data1` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci |
+-------+-----------------+
1 row in set (0.01 sec)

ユーザーの権限を確認する

 以下のコマンドで取得可能。

SHOW GRANTS FOR ユーザー名;

 こんな感じでユーザーの権限設定コマンドが表示される。

mysql> show grants for `ユーザー名`;
+----------------------------------+
| Grants for ユーザー名@%  |
+----------------------------------+
| GRANT USAGE ON *.* TO 'ユーザー名'@'%' IDENTIFIED BY PASSWORD 'xxxxxx' |
| GRANT SELECT, SHOW VIEW ON `テーブル1`.* TO 'ユーザー名'@'%' |
| GRANT SELECT, SHOW VIEW ON `テーブル2`.* TO 'ユーザー名'@'%' |
+----------------------------------+
3 rows in set (0.01 sec)