Ubuntu 20.04にMySQLインストールが面倒な件

元からsecurity vulnerabilityを突かれてデータ漏洩その他の問題を起こす最大の原因の一つであるためであるのはわかっているものの、ただ普通にSQLデータベースを使いたいユーザにとってはなんだかどんどん使いづらくなっているMySQL
WebやPHPとの連携もしたいので、まずは盲目的に下記のようにインストール。

Webサーバ
sudo apt -y install apache2

MySQLサーバ
sudo apt -y install mysql-server

PHP
sudo apt -y install php libapache2-mod-php php-mysql

次にMySQLのセットアップなのだけれど、MySQLを呼び出すプログラムの事情からこれまでと同様のrootユーザ、パスワードによるアクセスを可能にしたい。ところが最近はそれをブロックされまくりで本当に面倒。

以下、確かこれでできた、という記録

sudo mysqladmin -u root password

でrootのパスワードをセット。ところが、これで

mysql -u root -p

でログインしようとしてもブロックされてしまう。ので、

sudo mysql -u root

でログイン後、

SELECT user, host, plugin FROM mysql.user;

を見てみると、pluginがcaching_sha2_passwordだったり、auth_socketだったりする。
そこでmysql.infoschema以外はmysql_native_passwordに変えてしまう。
最後に

FLUSH PRIVILEGES;

としてquitし、

sudo service mysql restart

で変更を有効にする。もしかすると上記の手順はどこか間違っているかもしれないが、ネットを検索しても書く人によっててんでばらばらで、まだまだ情報が錯綜している気がする。

このように面倒なので、最近はただ個人的にSQLデータベースを使いたいと思った場合はSQLite3を頻用している。速いし、フィールド数やフィールドサイズがMySQLよりも大きくできるし、マルチアクセスが不要であれば本当に使いよい。