はじめに
概要
CentOS上に構築したMySQLにデータベース「dev」を作成し、そのデータベースに外部からアクセスするためのユーザー「devUser」を作成する。
環境など
- サーバ
- OS:CentOS 7.9
- ホスト名:CentOS
- MySQL:Ver 8.4.0
データベースの作成
認証プラグイン「mysql_native_password」の有効化
実行ユーザー:root
mysql> SHOW PLUGINS;
+----------------------------------+----------+--------------------+---------+---------+
| Name | Status | Type | Library | License |
+----------------------------------+----------+--------------------+---------+---------+
~略~
| mysql_native_password | DISABLED | AUTHENTICATION | NULL | GPL |
+----------------------------------+----------+--------------------+---------+---------+
mysql>
実行ユーザー:root
[root@CentOS ~]# vi /etc/my.cnf
[mysqld]
~略~
mysql_native_password=ON
[root@CentOS ~]#
実行ユーザー:root
[root@CentOS ~]# systemctl restart mysqld
[root@CentOS ~]#
実行ユーザー:root
mysql> SHOW PLUGINS;
+----------------------------------+----------+--------------------+---------+---------+
| Name | Status | Type | Library | License |
+----------------------------------+----------+--------------------+---------+---------+
~略~
| mysql_native_password | ACTIVE | AUTHENTICATION | NULL | GPL |
+----------------------------------+----------+--------------------+---------+---------+
48 rows in set (0.00 sec)
mysql>
データベース「dev」の作成
実行ユーザー:root
mysql> CREATE DATABASE dev CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
mysql>
ユーザー「devUser」の作成
実行ユーザー:root
mysql> SELECT User, Host, Plugin FROM mysql.user;
+------------------+-----------+-----------------------+
| User | Host | Plugin |
+------------------+-----------+-----------------------+
| mysql.infoschema | localhost | caching_sha2_password |
| mysql.session | localhost | caching_sha2_password |
| mysql.sys | localhost | caching_sha2_password |
| root | localhost | caching_sha2_password |
+------------------+-----------+-----------------------+
mysql>
実行ユーザー:root
mysql> CREATE USER 'devUser'@'%' IDENTIFIED WITH mysql_native_password BY '**********';
mysql>
実行ユーザー:root
mysql> SELECT User, Host, Plugin FROM mysql.user;
+------------------+-----------+-----------------------+
| User | Host | Plugin |
+------------------+-----------+-----------------------+
| devUser | % | mysql_native_password |
| mysql.infoschema | localhost | caching_sha2_password |
| mysql.session | localhost | caching_sha2_password |
| mysql.sys | localhost | caching_sha2_password |
| root | localhost | caching_sha2_password |
+------------------+-----------+-----------------------+
mysql>
ユーザー「devUser」にデータベース「dev」への権限を付与
実行ユーザー:root
mysql> show grants for 'devUser'@'%';
+-------------------------------------+
| Grants for devUser@% |
+-------------------------------------+
| GRANT USAGE ON *.* TO `devUser`@`%` |
+-------------------------------------+
mysql>
実行ユーザー:root
mysql> GRANT ALL PRIVILEGES ON dev.* TO 'devUser'@'%';
mysql>
実行ユーザー:root
mysql> show grants for 'devUser'@'%';
+--------------------------------------------------+
| Grants for devUser@% |
+--------------------------------------------------+
| GRANT USAGE ON *.* TO `devUser`@`%` |
| GRANT ALL PRIVILEGES ON `dev`.* TO `devUser`@`%` |
+--------------------------------------------------+
mysql>