MySQLのパスワード設定に関するメモです。
デフォルトでは、auth_socketが設定されているので、Linuxユーザーで認証される。
SELECT user,host,plugin FROM mysql.user;
+------------------+-----------+-----------------------+
| user | host | plugin |
+------------------+-----------+-----------------------+
| mysql.infoschema | localhost | caching_sha2_password |
| mysql.session | localhost | caching_sha2_password |
| mysql.sys | localhost | caching_sha2_password |
| root | localhost | auth_socket |
+------------------+-----------+-----------------------+
4 rows in set (0.00 sec)
# パスワードプラグインを指定する場合
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'パスワード';
# パスワードのみを設定する場合
ALTER USER 'root'@'localhost' IDENTIFIED BY 'パスワード';
パスワードの強度はVALIDATE PASSWORDコンポーネントによってチェックされる。
SHOW VARIABLES LIKE 'validate_password%';
+--------------------------------------+--------+
| Variable_name | Value |
+--------------------------------------+--------+
| validate_password.check_user_name | ON |
| validate_password.dictionary_file | |
| validate_password.length | 8 |
| validate_password.mixed_case_count | 1 |
| validate_password.number_count | 1 |
| validate_password.policy | MEDIUM |
| validate_password.special_char_count | 1 |
+--------------------------------------+--------+
SET GLOBAL validate_password.policy='LOW';
SET GLOBAL validate_password.length=6;
ポリシー | 実施されるテスト |
---|---|
LOW | 長さ |
MEDIUM | 長さ、数値、小文字、大文字、特殊文字 |
STRONG | 長さ、数値、小文字、大文字、特殊文字、辞書ファイル |
# インストール
INSTALL COMPONENT 'file://component_validate_password';
# アンインストール
UNINSTALL COMPONENT 'file://component_validate_password';