【RockyLinux 9.5 で WordPress 環境構築】mariaDBのインストールと設定

RockyLinux9.5でWordPress環境構築した際のメモです。
今回はmariaDBをインストールし設定します。

## mariaDBをインストール

mariadbのパッケージを確認。
```
sudo dnf list mariadb*
```

mariadbをインストール。
```
sudo dnf install mariadb-server
```

mariadbのインストールを確認。
```
sudo dnf list installed | grep mariadb
```

## 起動設定

mariadbを起動。
```
sudo systemctl start mariadb.service 
```

mariadbを起動状況を確認。
```
sudo systemctl status mariadb.service
```

サーバー再起動時にmariadbが自動起動するよう設定。
```
sudo systemctl enable mariadb
```

自動起動の設定を確認。
```
sudo systemctl is-enabled mariadb
```

## mariaDBのセキュリティ設定

以下のコマンドを実行します。
```
sudo mysql_secure_installation
```

mariaDBに関するセキュリティを質問形式で設定します。
```conf
# rootユーザーの現在のパスワードを入力（設定していない場合Enter）
Enter current password for root (enter for none): 

#「unix_socket」認証に切り替えるか
Switch to unix_socket authentication [Y/n] n 

# rootユーザに変更するか ※任意のパスワードを入力（保管しておくこと）
Change the root password? [Y/n] Y

# ログインできる匿名ユーザーを削除するか
By default, a MariaDB installation has an anonymous user, allowing anyone
Remove anonymous users? [Y/n] Y

# リモートからのrootログインを拒否するか
Disallow root login remotely? [Y/n] Y

# testデータベースの削除するか
Remove test database and access to it? [Y/n] Y

# 設定した特権テーブルを反映させるか
Reload privilege tables now? [Y/n] Y
 ```

## 文字コード設定

オリジナルをバックアップ
```
sudo cp /etc/my.cnf.d/mysql-clients.cnf /etc/my.cnf.d/mysql-clients.cnf.org
sudo cp /etc/my.cnf.d/mariadb-server.cnf /etc/my.cnf.d/mariadb-server.cnf.org
```

``` mysql-clients.cnf```に設定を追記します。
```
sudo vim  /etc/my.cnf.d/mysql-clients.cnf
```

```conf:/etc/my.cnf.d/mysql-clients.cnf
[mysql]
default-character-set=utf8mb4
```

```mariadb-server.cnf```に設定を追記します。
```
sudo vim  /etc/my.cnf.d/mariadb-server.cnf
```

```conf:/etc/my.cnf.d/mariadb-server.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
log-error=/var/log/mariadb/mariadb.log
pid-file=/run/mariadb/mariadb.pid
character-set-server=utf8mb4
・
・
[mariadb]
character-set-server=utf8mb4

[mariadb-10.5]
character-set-server=utf8mb4
```

mariadbを再起動
```
sudo systemctl restart mariadb
```

rootユーザーでログイン。先ほど設定したパスワードを入力します。
```
mysql -u root -p
```

文字コードを確認します。以下のようになれば成功です。
```sql
show variables like "%char%";
+--------------------------+------------------------------+
| Variable_name            | Value                        |
+--------------------------+------------------------------+
| character_set_client     | utf8mb4                      |
| character_set_connection | utf8mb4                      |
| character_set_database   | utf8mb4                      |
| character_set_filesystem | binary                       |
| character_set_results    | utf8mb4                      |
| character_set_server     | utf8mb4                      |
| character_set_system     | utf8                         |
| character_sets_dir       | /usr/share/mariadb/charsets/ |
+--------------------------+------------------------------+
```

## 専用DBとユーザーを作成

WordPressがmariadbへ接続するための専用DBとユーザーを作成します。
★の値は任意の文字列に書き換えてください。
```sql
CREATE DATABASE ★DB名★;
CREATE USER "★ユーザー名★"@"localhost" IDENTIFIED BY "★パスワード★"
GRANT ALL PRIVILEGES ON ★DB名★.* TO "★ユーザー名★"@"localhost";
FLUSH PRIVILEGES;
```

問題なく設定が完了したら ```quit``` でmariadbから抜けます。

## RockyLinux9.5でWordPress環境構築
1. [さくらのVPS設定](https://qiita.com/tfz/items/58a8a185573ff7080599)
1. [Apacheのインストールと設定](https://qiita.com/tfz/items/f4d74b8a5d93068fe675)
1. [PHPのインストールと設定](https://qiita.com/tfz/items/9e962e83cf84f4e20c14)
1. mariaDBのインストールと設定
1. [WordPressのインストールと設定](https://qiita.com/tfz/items/95b355127e3f034b78bb)
1. [DNS設定とCertbotによるSSL証明書の取得と設定](https://qiita.com/tfz/items/546cc990465b876bc5de)