CentOSのMariaDB10.6.7の初期設定を行う

MariaDBをインストールした後は設定を行いましょう。

初期設定を行うには下記コマンドとなります。

mariadb-secure-installation

注意書き:MariaDB10.5前をインストールでは「mysql_secure_installation」でしたがアンダーバー(_)ではなく、ハイフン(-)でのコマンドになったようです。

次からはこのような設定確認が出てくるので入力していきましょう。

初期設定1つ目

Enter Current password fore root (enter for none):  👈初期のパスワードはない

→MariaDBのrootパスワードを入力するのですが、初期設定では設定していないはずなので何も入力せずにEnterを押すと次に進みます。

Switch to unix_socket authentication [Y/n] y  👈yを入力し、Enter

→unix socket認証の切り替えとなります。Yを入力しEnterを押して次に進みます。

Change the root password? [Y/n] y  👈yを入力し、Enterでパスワードを設定する

→初期設定ではMariaDBのrootパスワードは設定していないため、セキュリティ向上のために設定しておきましょう!サーバのrootのパスワードとは別のものにしておいたほうが無難でしょう。

Remove anonymous users? [Y/n] y  👈yを入力し、Enter

→誰でもログインできないようにするので、Yを押して次に進みます。

root login remotely? [Y/n]y  👈yを入力し、Enter

→リモートでのrootアカウントログインを禁止するのでyを押して次に進みます。

Remove test database and access to it? [Y/n] y  👈yを入力し、Enter

→testデータベースの削除です。yを押して次に進みます。

Reload privilege tables now? [Y/n] y  👈yを入力し、Enter

→すぐに設定を反映し、使えるようにするのでyを押して次に進みます。

実行するとこのようになります。

[root@ホスト名 ~]# mariadb-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):  👈初期のパスワードはない
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] y  👈yを入力し、Enter
Enabled successfully!
Reloading privilege tables..
… Success!

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

Change the root password? [Y/n] y  👈yを入力し、Enterしパスワードを設定
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
… Success!

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  👈yを入力し、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] y  👈yを入力し、Enter
… 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  👈yを入力し、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] y  👈yを入力し、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!
[root@ホスト名~]#

MariaDBの標準文字コードを変更しましょう

ファイルの場所は  /etc/my.cnf.d/ にある「server.cnf」「client.cnf」があるので2つを変更します。

cd /etc/my.cnf.d/  👈フォルダを開く

[root@ホスト名 ~]#
[root@ホスト名 ~]# cd /etc/my.cnf.d/  👈フォルダを開く
[root@ホスト名 my.cnf.d]#
[root@ホスト名 my.cnf.d]# ls  👈ファイルの確認
client.cnf enable_encryption.preset mysql-clients.cnf server.cnf spider.cnf

バックアップを取り、確認する(重要)

[root@ホスト名 my.cnf.d]#
[root@ホスト名 my.cnf.d]# cp -p server.cnf server.cnf.bk  👈ファイルのバックアップを取る
[root@ホスト名 my.cnf.d]# ls
client.cnf mysql-clients.cnf server.cnf.bk
enable_encryption.preset server.cnf spider.cnf
[root@ホスト名 my.cnf.d]#

設定変更するには下記コマンドで行います。

vi server.cnf

[root@ホスト名 my.cnf.d]# vi server.cnf

#These groups are read by MariaDB server.
#Use it for options that only the server (but not clients) should see
#
#See the examples of server my.cnf files in /usr/share/mysql/
#
#this is read by the standalone daemon and embedded servers
[server]

character-set-server=utf8  👈追記します

this is only for the mysqld standalone daemon
[mysqld]

次は vi client.cnf を変更します。当然バックアップは取ってくださいね。

[root@ホスト名 my.cnf.d]#vi client.cnf

#These two groups are read by the client library
#Use it for options that affect all clients, but not the server
#

[client]

default-character-set=utf8  👈追記します

#This group is not read by mysql client library,
#If you use the same .cnf file for MySQL and MariaDB,
#use it for MariaDB-only client options
[client-mariadb]

設定を反映するためにMariaDBを再起動します。

systemctl restart mariadb

問題なければ正常にActiveとなっているはずです。

systemctl status mariadb

[root@ホスト名 ~]# systemctl status mariadb
● mariadb.service - MariaDB 10.6.7 database server
Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled)
Drop-In: /etc/systemd/system/mariadb.service.d
mqmigrated-from-my.cnf-settings.conf
Active: active (running) since Sat 2022-05-07 00:17:56 JST; 1min 32s ago
Docs: man:mariadbd(8)
https://mariadb.com/kb/en/library/systemd/

以上で設定は完了です。

ログインして確認

ログインしパスワードが有効になっているか確認します

[root@ホスト名 ]# mysql -u root -p  👈MariaDBのrootでログインします
Enter password:      👈MariaDBで設定したrootパスワードを入力します
Welcome to the MariaDB monitor. Commands end with ; or ¥g.
Your MariaDB connection id is 3
Server version: 10.6.7-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)]>
MariaDB [(none)]>quit  👈ログオフ

以上で完了です

コメントを残す

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