CentOS8(さくらのVPS)にMariaDB10.3のインストール

mariadb-seal vps
skeezeによるPixabayからの画像

MariaDB10.3を「さくらのVPS」CentOS8.2にセットアップする。
DBサーバーとDBクライアントは独立したパッケージとなっている。
スタンドアロンで使用する場合はサーバーもクライアントも必要となるが、今回は、DBサーバーのインストールとする。

環境

  • CentOS 8.2
  • Apache 2.4.37
  • PHP 7.4

インストール

# dnf install -y mariadb-server

起動と自動起動の設定

# systemctl start mariadb
# systemctl enable mariadb

初期設定

MariaDBにログインするためのパスワードを設定

初期設定を簡単に行ってくれる”mysql_secure_installation”コマンドを実行。

# mysql_secure_installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user.  If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none): Enter
OK, successfully used password, moving on...

「rootユーザーのパスワードを入力してください」となるが、まだパスワードは設定していないので何も入力せずEnterキーを押下。

MariaDBにもrootユーザーが存在するが、OSのrootユーザーとは別のものであり、最初はパスワードに何も設定されてない。

次に、「rootのパスワードを設定しますか?」と聞かれるので、’Y‘を入力してEnterを押し

Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.
Set root password? [Y/n] Y rootのパスワードを設定
New password:    パスワード入力
Re-enter new password:  確認用入力

“New password”に、新しい rootのパスワードを設定し、”Re-enter new password”に確認用でもう一度入力する。
パスワードをうまく決められない場合は、パスワードジェネレータが便利。

By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.
Remove anonymous users? [Y/n] Y 「匿名ユーザー」を削除する
 ... Success!

Normally, root should only be allowed to connect from 'localhost'. This 
ensures that someone cannot guess at the root password from the network. 
Disallow root login remotely? [Y/n] Y リモートからのrootログインを拒否
 ... Success!

By default, MariaDB comes with a database named 'test' that anyone can 
access.This is also intended only for testing, and should be removed 
before moving into a production environment.
Remove test database and access to it? [Y/n] Y test用のデータベースを削除
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far 
will take effect immediately. 
Reload privilege tables now? [Y/n] Y 設定を反映させるためリロード
 ... Success!

Cleaning up...
All done! If you've completed all of the above steps, your MariaDB 
installation should now be secure. 
Thanks for using MariaDB!

以上すべて’Y’を入力し「All done!~」で完了。

文字コードの設定

“mariadb-server.cnf”ファイルをバックアップして、

# cp -p /etc/my.cnf.d/mariadb-server.cnf /etc/my.cnf.d/mariadb-server.cnf.backup

viで編集する。

# vi /etc/my.cnf.d/mariadb-server.cnf

“character-set-server=utf8mb4”を追加する。

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

“client.cnf”ファイルをバックアップし、

# cp -p /etc/my.cnf.d/client.cnf /etc/my.cnf.d/client.cnf.backup

viで編集。

# vi /etc/my.cnf.d/client.cnf

”default-character-set = utf8mb4”を追加する。

---
[client-mariadb]
default-character-set = utf8mb4

MariaDB再起動

# systemctl restart mariadb

確認

MariaDBにログイン

$ mysql -u root -p  ← MariaDBにrootでログイン
Enter password:  ← rootパスワードを入力

文字コードの設定を確認。

MariaDB [(none)]> show variables like "chara%";
+--------------------------+------------------------------+
| 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/ |
+--------------------------+------------------------------+
8 rows in set (0.001 sec)

確認を終えたらログアウトする。

MariaDB [(none)]> exit
Bye
タイトルとURLをコピーしました