- 追加された行はこの色です。
- 削除された行はこの色です。
#author("2024-03-21T02:16:12+09:00","","")
#author("2024-03-21T02:52:06+09:00","","")
[[Linux]]
* MariaDB [#z101ab91]
** インストール [#mb1b3096]
sudo apt install mariadb-server
** 設定 [#bf17be64]
sudo mysql_secure_installation
+Enter current password for root (enter for none): <Enter>
現在の MariaDB の root パスワード。
一般ユーザー(sudo 無し)で実行している場合は、パスワード入力が必要。(※1)
+Switch to unix_socket authentication [Y/n] n
UNIX ソケット認証に切り替えるか否か
+現在の MariaDB の root パスワード。
Enter current password for root (enter for none): <Enter>
#
# sudo で実行しているため入力不要
# そもそもインストール直後は、root ユーザーのパスワードは無効値であり、
# 一般ユーザーで実行すると何を入力してもエラーとなる。
+UNIX ソケット認証に切り替えるか否か
Switch to unix_socket authentication [Y/n] n
+root パスワードを変更するか。(デフォルトは、パスワード無効)
Change the root password? [Y/n] n
+匿名ユーザーを削除する
Remove anonymous users? [Y/n] y
+リモートからの root ユーザログインを無効化する
Disallow root login remotely? [Y/n] y
+テスト用のデータベース、アクセスを削除する
Remove test database and access to it? [Y/n] y
+特権情報をリロードする
Reload privilege tables now? [Y/n] y
----
※1) Debian にてインストール直後は、root ユーザーのパスワードは invalid (無効) となっているため、次のような方法で設定する必要がある。
** root パスワード設定 [#q1287b28]
sudo mariadb -u root
ALTER USER root@localhost IDENTIFIED BY '<パスワード>';
FLUSH PRIVILEGES;
EXIT;
戻す場合は、以下
sudo mariadb -u root -p
<パスワードを入力>
ALTER USER root@localhost IDENTIFIED WITH mysql_native_password AS 'invalid';
FLUSH PRIVILEGES;
上記設定により、linux の root ユーザー以外でもログイン可能となる。
ログインする場合は、次のように -p を付与してログインする。
mariadb -u root -p
<パスワード入力>
初期状態(unix_socket 利用、パスワード無効)に戻す場合は、
以下を設定すればよい。
ALTER USER root@localhost IDENTIFIED VIA mysql_native_password USING 'invalid' OR unix_socket;
** root パスワードリセット [#c2d45da3]
** root パスワードリセット (パスワード忘れた場合など) [#uf9e1f76]
#
# 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 '<パスワード>';
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