MySQL8.0にデータベースユーザーを作成する方法。
タイトルの通りとなりますがMySQL8.0を用いてWordPressデータベースユーザを作成する方法を紹介します。
- 目的
- CentOS7上で、MySQL8.0を用いて、WordPressユーザを作成し、SQLの用語などが理解出来るようになる。
- ゴール
- MySQL8.0で、WordPressデータベースユーザを作成する事が出来る。
- DataBaseアクセス権限など設定の仕方を学習する。
- 前提条件
- CentOS7をインストール済で、管理者権限で操作出来ること。
- MySQL8.0とWordPress4.9とPHP7.3とApache2.4をインストールであること。
- WordPressに必要なPHPプラグインがインストール済であること。
それでは、早速作業を開始していきましょう♪
mysql> select user, host, plugin from mysql.user;
+------------------+----------------+-----------------------+
| user | host | plugin |
+------------------+----------------+-----------------------+
| matomowebtrackrx | ***.***.***.** | mysql_native_password |
| matomowebtrackrx | localhost | caching_sha2_password |
| mysql.infoschema | localhost | caching_sha2_password |
| mysql.session | localhost | caching_sha2_password |
| mysql.sys | localhost | caching_sha2_password |
| root | localhost | caching_sha2_password |
| wpadmin1990Xv | localhost | mysql_native_password |
+------------------+----------------+-----------------------+
7 rows in set (0.01 sec)
現在登録されているユーザ情報確認します。
ここでは、仮にdatabase_user1というデータベースユーザを作成するものとします。
database_user1が項目にないことが確認出来ます。
mysql> show global variables like 'validate%';
+--------------------------------------+-------+
| Variable_name | Value |
+--------------------------------------+-------+
| validate_password.check_user_name | ON |
| validate_password.dictionary_file | |
| validate_password.length | 8 |
| validate_password.mixed_case_count | 1 |
| validate_password.number_count | 1 |
| validate_password.policy | LOW |
| validate_password.special_char_count | 1 |
+--------------------------------------+-------+
7 rows in set (0.01 sec)
現在のMySQLセキュリティポリシー設定を確認します。
デフォルトでは、下記の様になっています。
validate_password.check_user_name = NO
validate_password.policy = MEDIUM
ここでは、セキュリティポリシーを変更する手順は割愛しますが
次のユーザ作成の時に、パスワード設定がややこしくなるので
ポリシー変更を行って下さい。
mysql> create user 'database_user1'@'localhost' identified with mysql_native_password by '*********';
********* の部分がパスワードとなりますので任意のパスワードを設定します。
create user の後に続く部分が、ユーザ名とホスト名になります。(ホスト名は取りあえず接続元を絞らない場合、localhostで良いです。)
Query OK, 0 rows affected (0.04 sec)
mysqlデータベースにwordpressで利用するデータベースユーザを設定します。
mysql_native_password認証方式にしないとphpからmysqli関数を使用して接続
できないので注意が必要です。
- 既存のユーザの認証方式を変更するとき(今回は新規なので実行しなくて良いです。)
mysql> ALTER USER 'database_user1'@'localhost' IDENTIFIED WITH mysql_native_password BY '*********';
mysql> select user, host, plugin from mysql.user;
+----------------------------+----------------+-----------------------+
| user | host | plugin |
+----------------------------+----------------+-----------------------+
| matomowebtrackrx | ***.***.***.** | mysql_native_password |
| matomowebtrackrx | localhost | caching_sha2_password |
| mysql.infoschema | localhost | caching_sha2_password |
| mysql.session | localhost | caching_sha2_password |
| mysql.sys | localhost | caching_sha2_password |
| root | localhost | caching_sha2_password |
| wpadmin1990Xv | localhost | mysql_native_password |
| database_user1 | localhost | mysql_native_password |
+----------------------------+----------------+-----------------------+
8 rows in set (0.00 sec)
先ほど作成したdatabase_user1ユーザが追加されていることを確認します。
pluginの所がmysql_native_passwordになっている事を確認します。
上記の様になっていないとWordPressからアクセス出来ないので注意して下さい。
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| matomo |
| mysql |
| performance_schema |
| piwik |
| sys |
| wpdatabase |
+--------------------+
7 rows in set (0.00 sec)
現在設定されているデータベースリストを確認します。
ここでは、****を作成するものとします。
database1データベースが存在しないことが確認できます。
mysql> create database database1;
Query OK, 1 row affected (0.09 sec)
wordpressで使用するdatabase1データベースを作成します。
mysql> show databases;
+----------------------------+
| Database |
+----------------------------+
| information_schema |
| matomo |
| mysql |
| performance_schema |
| piwik |
| sys |
| wpdatabase |
| database1 |
+----------------------------+
8 rows in set (0.00 sec)
先ほど作成した、database1データベースが追加されている事を確認します。
mysql> grant all on database1.* to 'database_user1'@'localhost';
grant all on の後に続くのがデータベース名で’.'をその後に付加することで
そのデータベース全てと言う意味になります。
to の後に続くのが、ユーザ名とホスト名になります。
Query OK, 0 rows affected (0.01 sec)
先ほど作成したdatabase1データベースに対して先ほど作成したdatabase_user1ユーザに書き込みなど全権限を与えます。
mysql> select * from mysql.db where user = 'database_user1' and host = 'localhost' and db = 'database1' \G;
*************************** 1. row ***************************
Host: localhost
Db: database1
User: database_user1
Select_priv: Y
Insert_priv: Y
Update_priv: Y
Delete_priv: Y
Create_priv: Y
Drop_priv: Y
Grant_priv: N
References_priv: Y
Index_priv: Y
Alter_priv: Y
Create_tmp_table_priv: Y
Lock_tables_priv: Y
Create_view_priv: Y
Show_view_priv: Y
Create_routine_priv: Y
Alter_routine_priv: Y
Execute_priv: Y
Event_priv: Y
Trigger_priv: Y
1 row in set (0.01 sec)
ERROR:
No query specified
データベースのアクセス権限を確認します。
上記の様な状態になっていればO.K.です。
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
MySQL対して設定の適用を行います。
これで、すべての工程が終了となります。
実際に、WordPressからアクセスできることを確認してくださいね(^^♪
アクセスする際は、ブラウザ上からアクセスすることになるので
Apacheなどの設定が必要になってきますがここでは、もう設定済み
のもととして扱っています。
それでは、良きWordPress生活を~~~~~~~~
わからないところやここはどうなの?とか知りたい場合は
コメントしてくださいね(^^♪
適せん回答していますのでGood Job!∑d(゚д゚*)
ディスカッション
コメント一覧
まだ、コメントがありません