✏️

WordPressのインストール、MySQLコマンドの整理

2024/12/04に公開

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