4
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

MySQL8.0で4文字パスワードを許可

Last updated at Posted at 2019-10-22

はじめに

MySQLでは、パスワードポリシーが高く設定されているため、
デフォルトでは安易なパスワードが設定できないようになっている。

MySQLのパスワードポリシー変更記事は様々なものがあるが、バージョンなど環境により、若干ことなったりするので、
CentOS 7.6でMySQL8.0の場合で、パスワードのポリシーを変更し、4文字パスワードを許可するように変更する手順を記載する。


パスワードのポリシーを変更する

$ vi /etc/my.conf

# 下記の設定を追加する

validate_password.policy=LOW
validate_password.length=4
validate_password.check_user_name=OFF

セーフモード起動

$ systemctl stop mysqld
$ systemctl set-environment MYSQLD_OPTS="--skip-grant-tables"
$ systemctl start mysqld

パスワードポリシーの確認

下記のように表示されることを確認する。

$ mysql -u root -e "SHOW variables like '%validate_password%';"

+--------------------------------------+-------+
| Variable_name                        | Value |
+--------------------------------------+-------+
| validate_password.check_user_name    | OFF   |
| validate_password.dictionary_file    |       |
| validate_password.length             | 4     |
| validate_password.mixed_case_count   | 1     |
| validate_password.number_count       | 1     |
| validate_password.policy             | LOW   |
| validate_password.special_char_count | 1     |
+--------------------------------------+-------+

表示されない場合、下記のコマンドで再設定する。

$ mysql -u root -e "SET GLOBAL validate_password.policy = LOW;"
$ mysql -u root -e "SET GLOBAL validate_password.length = 4;"
$ mysql -u root -e "SET GLOBAL validate_password.check_user_name = OFF;"

rootのパスワードリセット

$ mysql -u root -e "UPDATE mysql.user SET authentication_string=null WHERE User='root';"

セーフモード解除

$ systemctl stop mysqld
$ systemctl set-environment MYSQLD_OPTS=""
$ systemctl start mysqld

パスワードの再設定

パスワードをpassに設定。

$ mysql -u root 
> ALTER USER 'root'@'localhost' IDENTIFIED BY 'pass';

※ MySQL 5系の場合は、下記のコマンドで変更可能。
> UPDATE mysql.user SET authentication_string = PASSWORD('pass') WHERE User = 'root';"

設定したパスワードが使用できることを確認

$ mysql -u root -ppass -e "select host,user from mysql.user;"
4
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?