sudo apt install mariadb-server
sudo mysql_secure_installation
Enter current password for root (enter for none): <Enter> # # sudo で実行しているため入力不要 # そもそもインストール直後は、root ユーザーのパスワードは無効値であり、 # 一般ユーザーで実行すると何を入力してもエラーとなる。
Switch to unix_socket authentication [Y/n] n
Change the root password? [Y/n] n
Remove anonymous users? [Y/n] y
Disallow root login remotely? [Y/n] y
Remove test database and access to it? [Y/n] y
Reload privilege tables now? [Y/n] y
sudo mariadb -u root ALTER USER root@localhost IDENTIFIED BY '<パスワード>'; FLUSH PRIVILEGES; EXIT;
上記設定により、linux の root ユーザー以外でもログイン可能となる。 ログインする場合は、次のように -p を付与してログインする。
mariadb -u root -p <パスワード入力>
初期状態(unix_socket 利用、パスワード無効)に戻す場合は、 以下を設定すればよい。
ALTER USER root@localhost IDENTIFIED VIA mysql_native_password USING 'invalid' OR unix_socket;
# # mariadb 停止 & safe モードで起動 sudo systemctl stop mariadb sudo mysqld_safe --skip-grant-tables --skip-networking & # # root ユーザーでログインしてパスワードを変更 sudo mariadb -u root FLUSH PRIVILEGES; ALTER USER root@localhost IDENTIFIED BY '<パスワード>'; # # mysqld_safe の停止 & mariadb 起動 MYSQL_PID=`sudo cat /var/run/mysqld/mysqld.pid` kill $MYSQL_PID sudo systemctl start mariadb