さくらのVPSでCentOS8 (16) MySQL(MariaSQL)をインストール

前回は、Webminのインストールを行った。

さて、今回は、データベースサーバーであるMySQLをインストールする。

と言っても、実際はMariaDBという、MySQLから引き継がれたデータベースサーバーをインストールしたい。

まずは、公式サイトに行ってみる。

https://mariadb.org/

「Download」を、おもむろにクリックし、

MariaDB Repositories

「MariaDB Repositories」内の選択肢を、それぞれ次のように選択していく。

  • Choose a distribution「CentOS 8 (x86_64)」
  • Choose a MariaDB Server version「10.5」
  • Mirror(これは適当)

すると、何をすべきかが表示されるので、
まずは、レポジトリの設定ファイルを追加する。

# vi /etc/yum.repos.d/MariaDB.repo

中身は、サイトに表示されたものをコピペすれば良い。

# MariaDB 10.5 CentOS repository list - created 2021-01-24 11:20 UTC
# https://mariadb.org/download/
[mariadb]
name = MariaDB
baseurl = https://mirrors.piconets.webwerks.in/mariadb-mirror/yum/10.5/centos8-amd64
module_hotfixes=1
gpgkey=https://mirrors.piconets.webwerks.in/mariadb-mirror/yum/RPM-GPG-KEY-MariaDB
gpgcheck=1

そして、またまた記載されているコマンドを実行する。
(自動起動するようにちょっと変えてます。)

# dnf install MariaDB-server
# systemctl enable --now mariadb.service

これでサーバーは起動した。自動起動もする。

では、バージョンの確認。

$ mysql --version
mysql  Ver 15.1 Distrib 10.5.8-MariaDB, for Linux (x86_64) using readline 5.1

それでは、セキュリティを高めるためのスクリプトを実行する。

# 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
haven't set the root password yet, you should just press enter here.

Enter current password for root (enter for none): [Enter]←インストール直後なので、MySQLのrootのパスワードはない。
OK, successfully used password, moving on...

Setting the root password or using the unix_socket ensures that nobody
can log into the MariaDB root user without the proper authorisation.

You already have your root account protected, so you can safely answer 'n'.

Switch to unix_socket authentication [Y/n] [Enter]←Unixのユーザ認証と統合させる。
Enabled successfully!
Reloading privilege tables..
 ... Success!


You already have your root account protected, so you can safely answer 'n'.←Unixのルートアカウントはセキュアだから、MysSQLのrootにパスワードは不要。安心して[n]を選べる。

Change the root password? [Y/n] n[Enter]←だから、n
 ... skipping.

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] [Enter]←匿名ユーザ削除
 ... 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] [Enter]←リモートからの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] [Enter]←テスト用データベースと権限を削除
 - 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] [Enter]←変更の反映
 ... 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!

以上で、セキュアになった。

次に、文字コードを4バイトのUTF-8、つまりutf8mb4に変更したい。

ヘルプによると、「utf8 という名前の文字セットは、文字あたり最大 3 バイトを使用し、BMP 文字だけを含みます。utf8mb4 文字セットは、文字ごとに最大 4 バイトを使用し、補助文字をサポートします。」とのことで、補助文字を使えるようにするには、utf8mb4にする必要があると。

まず、現状の文字コードを参照してみる。

# mysql
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 33
Server version: 10.5.8-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> show variables like "character%";
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | latin1                     |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | latin1                     |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.003 sec)

MariaDB [(none)]> show variables like "collation%";
+----------------------+-------------------+
| Variable_name        | Value             |
+----------------------+-------------------+
| collation_connection | utf8_general_ci   |
| collation_database   | latin1_swedish_ci |
| collation_server     | latin1_swedish_ci |
+----------------------+-------------------+
3 rows in set (0.001 sec)

MariaDB [(none)]> quit
Bye

サーバーの設定ファイルを変更。

# vi /etc/my.cnf.d/server.cnf
[mysqld]
character-set-server = utf8mb4←追加
collation-server = utf8mb4_unicode_ci←追加

クライアント側の設定も変更。

# vi /etc/my.cnf.d/mysql-clients.cnf
[mysql]
default-character-set = utf8mb4←追加

[mysqldump]
default-character-set = utf8mb4←追加

MariaDBを再起動する。

# systemctl restart mariadb

変更後の文字コードを確認しよう。

# mysql
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 3
Server version: 10.5.8-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

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

MariaDB [(none)]> show variables like "collation%";
+----------------------+--------------------+
| Variable_name        | Value              |
+----------------------+--------------------+
| collation_connection | utf8mb4_general_ci |
| collation_database   | utf8mb4_unicode_ci |
| collation_server     | utf8mb4_unicode_ci |
+----------------------+--------------------+
3 rows in set (0.001 sec)

以上で初期設定は完了!

次回は、GUIでデータベースを操作できるphpMyAdminをインストールしたい。

と思ったが、webmin入れたので必要ないよね。

では、PHPを入れようか。

さくらインターネットのVPS

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です