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の導入にはいります。