MariaDBやMySQLでrootのパスワードを設定する

MySQL
スポンサーリンク

MariaDBやMySQLでrootのパスワードを設定するには、

ALTER USER 'root'@'localhost' IDENTIFIED BY '任意のパスワード';

FLUSH PRIVILEGES;

ってやるだ。

rootのパスワード設定の必要はない?

  • ローカルのみでUNIXソケット認証を使用する場合: パスワード設定は必須ではありませんが、システムのセキュリティを十分に理解していることが前提です。
  • リモートアクセスが必要な場合や、追加のセキュリティが求められる場合: rootパスワードの設定が推奨されます。

Unixソケットって?

mariadbナレッジベースだと、

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に接続してから設定もできるみたいだけど。

コメント