WordPressのインストール、MySQLコマンドの整理
WordPressのインストール
概要
*WordPressのインストール
*MySQLのテーブル部分深堀
※wgetコマンド無い場合は事前にインストールする
# dnf install wget
WordPress関係のファイルをダウンロード
wgetで落としてくるデータの一時的な置き場を作っておく(任意)
[root@mizuga-education-web01 ~]# mkdir /home/ec2-user/tmp
[root@mizuga-education-web01 ~]#
[root@mizuga-education-web01 ~]#
[root@mizuga-education-web01 ~]# ll /home/ec2-user/
total 0
drwxr-xr-x 2 ec2-user ec2-user 52 Nov 28 12:06 backup
drwxr-xr-x 2 root root 6 Dec 4 07:12 tmp
wget前に移動しておく
[root@mizuga-education-web01 ~]# cd /home/ec2-user/tmp
[root@mizuga-education-web01 tmp]#
[root@mizuga-education-web01 tmp]#
[root@mizuga-education-web01 tmp]# pwd
/home/ec2-user/tmp
[root@mizuga-education-web01 tmp]#
wgetでダウンロード、tarで解凍する。
[root@mizuga-education-web01 tmp]# wget https://ja.wordpress.org/latest-ja.tar.gz
--2024-12-04 07:14:25-- https://ja.wordpress.org/latest-ja.tar.gz
Resolving ja.wordpress.org (ja.wordpress.org)... 198.143.164.252
Connecting to ja.wordpress.org (ja.wordpress.org)|198.143.164.252|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 33981407 (32M) [application/octet-stream]
Saving to: ‘latest-ja.tar.gz’
latest-ja.tar.gz 100%[============================>] 32.41M 12.3MB/s in 2.6s
2024-12-04 07:14:29 (12.3 MB/s) - ‘latest-ja.tar.gz’ saved [33981407/33981407]
[root@mizuga-education-web01 tmp]#
[root@mizuga-education-web01 tmp]#
[root@mizuga-education-web01 tmp]#
[root@mizuga-education-web01 tmp]# ll
total 33188
-rw-r--r-- 1 root root 33981407 Nov 24 14:00 latest-ja.tar.gz
[root@mizuga-education-web01 tmp]#
[root@mizuga-education-web01 tmp]#
[root@mizuga-education-web01 tmp]#
[root@mizuga-education-web01 tmp]# tar -xzf latest-ja.tar.gz
[root@mizuga-education-web01 tmp]#
[root@mizuga-education-web01 tmp]# ll
total 33192
-rw-r--r-- 1 root root 33981407 Nov 24 14:00 latest-ja.tar.gz
drwxr-xr-x 5 1006 1006 4096 Nov 24 14:00 wordpress
WordPress用のDB作成
WordPress用のDBユーザーwp-user作成、パスワード
mysql> CREATE USER 'wp-user'@'%' IDENTIFIED WITH mysql_native_password BY '任意パスワード';
Query OK, 0 rows affected (0.02 sec)
ユーザー作成されたか確認
- mysql> select user, host from mysql.user;
コマンド内容ざっくりと
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
このコマンドは、MySQLサーバーに登録されているユーザーアカウントと、それぞれのアカウントが許可されている接続元ホストの情報を表示するSQLクエリです。
SELECT
指定したカラム(列)の情報を取得します。この場合、user と host カラムを取得します。
user
MySQLのユーザー名が格納されているカラムです。MySQLにアクセスする際のユーザー名を表示します。
host
ユーザーがどのホスト(接続元IPアドレスやホスト名)から接続できるかを示すカラムです。
% は「任意のホストから接続可能」を意味します。
特定のホスト名やIPアドレスが記載されている場合、そのホストからのみ接続が許可されます。
FROM mysql.user
MySQLのシステムデータベース mysql の中にある user テーブルを指定します。
このテーブルには、すべてのユーザーの情報が保存されています。
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
コマンド結果の内容
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
SELECT
指定したカラム(列)の情報を取得します。この場合、user と host カラムを取得します。
user
MySQLのユーザー名が格納されているカラムです。MySQLにアクセスする際のユーザー名を表示します。
host
ユーザーがどのホスト(接続元IPアドレスやホスト名)から接続できるかを示すカラムです。
% は「任意のホストから接続可能」を意味します。
特定のホスト名やIPアドレスが記載されている場合、そのホストからのみ接続が許可されます。
FROM mysql.user
MySQLのシステムデータベース mysql の中にある user テーブルを指定します。このテーブルには、すべてのユーザーの情報が保存されています。
root / localhost
ユーザー root は、ローカルホスト(MySQLが動作しているサーバー自身)からのみ接続可能。
app_user / 192.168.1.%
ユーザー app_user は、192.168.1.0~192.168.1.255 のIP範囲(サブネット)から接続可能。
backup_user / %
ユーザー backup_user は、任意のホストから接続可能。
*ユーザー情報の確認
サーバーにどのユーザーが登録されているか、接続元の制限がどうなっているかを確認する。
*トラブルシューティング
ユーザーがMySQLに接続できない場合、この情報を確認することで問題の原因(ユーザー名のミスやホスト制限など)を特定する。
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
mysql> select user, host from mysql.user;
+------------------+-----------+
| user | host |
+------------------+-----------+
| wp-user | % |
| mysql.infoschema | localhost |
| mysql.session | localhost |
| mysql.sys | localhost |
| root | localhost |
+------------------+-----------+
5 rows in set (0.00 sec)
wp-userのpluginカラムの確認する、mysql_native_passwordになっていないとエラー出るらしい。
mysql> select user, host, plugin from mysql.user;
+------------------+-----------+-----------------------+
| user | host | plugin |
+------------------+-----------+-----------------------+
| wp-user | % | 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 |
+------------------+-----------+-----------------------+
5 rows in set (0.00 sec)
mysql>
mysql>
WordPress用のDB作成、作成確認
mysql> CREATE DATABASE `wp_db`;
Query OK, 1 row affected (0.01 sec)
mysql>
mysql>
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
| wp_db |
+--------------------+
5 rows in set (0.01 sec)
作成した「wp-user」に「wp_db」への全権限を与える。
mysql> GRANT ALL PRIVILEGES ON `wp_db`.* TO "wp-user"@"%";
Query OK, 0 rows affected (0.00 sec)
権限付与の確認
mysql> show grants for 'wp-user'@'%';
+----------------------------------------------------+
| Grants for wp-user@% |
+----------------------------------------------------+
| GRANT USAGE ON *.* TO `wp-user`@`%` |
| GRANT ALL PRIVILEGES ON `wp_db`.* TO `wp-user`@`%` |
+----------------------------------------------------+
2 rows in set (0.01 sec)
MySQLへの「wp-user」でのログインをを確認する。
[root@mizuga-education-web01 tmp]# mysql -u wp-user -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 8.0.40 MySQL Community Server - GPL
Copyright (c) 2000, 2024, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
mysql>
Discussion