[MySQL][5.7.16]ユーザ操作

MySQL 7 から、ユーザ作成の方法が少し変わったとのこと。
もともとを知らないので抵抗はありませんが、Zabbix や WordPress のオンラインマニュアルに書かれているユーザ作成の SQL が MySQL 6以前の書き方になっていて困ったりしたので、簡単にまとめてみます。

環境

本ページは以下の環境で実施しています。

CentOS 6.8
MySQL 5.7.16

ユーザの作成

お作法は、以下のようになっています。

  1. CREATE USER でユーザを作成
  2. GRANT で権限付与

実行するSQL文は、以下の書式となります。

CREATE USER ユーザ名@ホスト名 IDENTIFIED BY ‘パスワード’;

実際に作成してみます。
作成するユーザは以下です。

  • ユーザ名:zabbix
  • データベース名:zabbix
  • ホスト名:localhost
# mysql -uroot -p
Enter password:

mysql> SELECT host,user FROM mysql.user;
+-----------+-----------+
| host      | user      |
+-----------+-----------+
| localhost | mysql.sys |
| localhost | root      |
+-----------+-----------+
3 rows in set (0.00 sec)

mysql> CREATE USER zabbix@localhost IDENTIFIED BY 'パスワード';
Query OK, 0 rows affected (0.00 sec)

mysql> GRANT ALL ON zabbix.* TO zabbix@localhost;
Query OK, 0 rows affected (0.01 sec)

mysql> SELECT host,user FROM mysql.user;
+-----------+-----------+
| host      | user      |
+-----------+-----------+
| localhost | mysql.sys |
| localhost | root      |
| localhost | zabbix    |
+-----------+-----------+
3 rows in set (0.00 sec)

権限管理

権限確認

ユーザにどのような権限が割り当てられているかを確認するには、以下のようにSQLを発行します。
以下の例は、zabbixユーザを作成した直後の状態です。

SHOW GRANT FOR zabbix@localhost;
+--------------------------------------------+
| Grants for zabbix@localhost                |
+--------------------------------------------+
| GRANT USAGE ON *.* TO 'zabbix'@'localhost' |
+--------------------------------------------+
1 row in set (0.00 sec)

権限付与

zabbixユーザに対して、データベース”zabbix” の操作権限を全て付与する場合は、以下のようにSQLを発行します。

mysql> GRANT ALL ON zabbix.* TO zabbix@localhost;

結果を確認してみると、以下のようになります。

mysql> SHOW GRANTS FOR zabbix@localhost;
+------------------------------------------------------------+
| Grants for zabbix@localhost                                |
+------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'zabbix'@'localhost'                 |
| GRANT ALL PRIVILEGES ON `zabbix`.* TO 'zabbix'@'localhost' |
+------------------------------------------------------------+
2 rows in set (0.00 sec)

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク