MariaDBやMySQLでrootのパスワードを設定するには、
ALTER USER 'root'@'localhost' IDENTIFIED BY '任意のパスワード';
FLUSH PRIVILEGES;
ってやるだ。
rootのパスワード設定の必要はない?
- ローカルのみでUNIXソケット認証を使用する場合: パスワード設定は必須ではありませんが、システムのセキュリティを十分に理解していることが前提です。
- リモートアクセスが必要な場合や、追加のセキュリティが求められる場合: rootパスワードの設定が推奨されます。
Unixソケットって?
10.4, Unix socket authentication is applied by default, and there is usually no need to create a root password. See Authentication from MariaDB 10.4.
日本語:
10.4 では、Unix ソケット認証がデフォルトで適用され、通常は root パスワードを作成する必要はありません。 MariaDB 10.4 からの認証を参照してください。
ってかいてるけども、
パスワード設定した後だったからか、
MariaDB [(none)]>
MariaDB [(none)]> SELECT user, host, plugin FROM mysql.user WHERE user = 'root';
+------+-----------+-----------------------+
| User | Host | plugin |
+------+-----------+-----------------------+
| root | localhost | mysql_native_password |
+------+-----------+-----------------------+
1 row in set (0.001 sec)
って、plugin列がunix_socketになっていなかったんだよね。
mariadb-secure-installation
を実行すると(MariaDBに接続しないで、シェル上で行います)、unixソケット使うか否か聞かれたから、ここで設定するのかも。
あとでMariaDBに接続してから設定もできるみたいだけど。
コメント