Ubuntu で MySQL を使えるようにする

MySQLをUbuntuにインストールしていきます。

ライセンスの問題やOracleとの関係、MariaDBへのフォークやらと色々と忙しいMySQL。そのため、業務案件としては postgres が中心だったのですが、今回は個人的な趣味のサーバでもあり、WordPressを動かせればいいや程度でしか考えてないので、メジャーな兄貴分、MySQLをさっくりと入れておきます。

そのうち、使い慣れた半身、postgres を入れるかもしれません。(性能的にはMariaDBもいいみたいですね♪)

では早速、インストール。

sudo apt install mysql-server

現時点のパッケージインデックスだと、Server version: 8.0.23-0ubuntu0.20.04.1 が入りました。

次に初期設定。

sudo mysql_secure_installation

ec2の場合、rootパスワードがないのでジャンプしますね。

secure enough. Would you like to setup VALIDATE PASSWORD component?

パスワードの強度チェックをどうするか?
個人的には面倒になるので嫌いですが、昨今、そうもいってられないので、Yes。

LOW Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary

もちろんSTROG。

mysqlのrootユーザーのPW設定は、

Estimated strength of the password: 100
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) :

強度100でガチガチに設定して下さいね。

Remove anonymous users? (Press y|Y for Yes, any other key for No) :

anonymousユーザーは不要なので削除。

Disallow root login remotely? (Press y|Y for Yes, any other key for No)

リモートでrootログインをブロックさせるかどうかですが、ブロックしたいので、yes。

Remove test database and access to it? (Press y|Y for Yes, any other key for No) :

初期のテストDBも不要なので、Yes。

Reload privilege tables now? (Press y|Y for Yes, any other key for No) :

権限テーブルのリロードもyesで行わせて、

Success.
All done!

完了ー。

MySQLにアクセス

mysql -u root -p
Enter password:

さきほど設定したパスワードでログイン。

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 10
Server version: 8.0.23-0ubuntu0.20.04.1 (Ubuntu)

Copyright (c) 2000, 2021, 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の初期設定では、rootユーザーのアクセスは unixsocket になっているので、mysqlコマンドだけでパスワード不要でアクセスできちゃいます。

なおかつ、rootにsudo権限さえあるユーザーであれば、以下だけすんなりログインも可能です。

sudo mysql

今は私しかこのサーバには触れないので、このままでもいいですが、多人数でのアクセスが行われるサーバの場合は、このあたりを慎重に調整していく必要はありそうですね。
今は、未来に先送り。

ちなみに、MySQLの自動起動設定もすでにされていました。

systemctl list-unit-files --type=service | grep mysql
mysql.service enabled enabled

やはり、aptでインストールすると自動起動設定も行われるみたいですね。

では、次はphpの導入にはいります。