1
0

More than 5 years have passed since last update.

MYSQLの初期パスワードの調べ方と変更方法の忘備録

Posted at

AWSの勉強中、
DBサーバーにMYSQLをインストールしたまではよかったもののログインができず困ったため、忘備録。

MYSQLのバージョン:5.7.27

MySQLにアクセスできない

インストールが完了し、DBサーバーを実行したまではよかったもののパスワードを作成しようとするとエラー。

$ mysqladmin -u root password
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

パスワードを確認する

初期起動時にパスワードを自動生成される。その起動時のlog(mysqld.log)にパスワードが残っている。

$ sudo cat /var/log/mysqld.log | grep 'password is generate'
2019-09-03T03:49:01.756755Z 1 [Note] A temporary password is generated for △△△@localhost: 〇〇〇
# ユーザー名       :△△△
# パスワード       :〇〇〇

パスワードを変更する

初期設定だと何かと不便なので、変更する。
変更のためには、
 1. 仮のパスワードを作成
 2. パスワード設定を変更
 3. パスワードを再度設定する
という流れとなる。
初期設定のパスワードだと、パスワード設定の確認の際に、変更を求めらるため仮パスワードを設定する。

確認したパスワードでSQLにログインする。
次に適当な長さと強度を持ったパスワードを作る。(8文字以上、小文字、大文字、特殊文字、数字)

# 適当に付けたパスワード:MYSQL@password1
mysql> set password for root@localhost=password('MYSQL@password1');
Query OK, 0 rows affected, 1 warning (0.00 sec)

パスワードを変更したいだけなら、ここまででOK。
パスワード設定を確認する。

mysql> SHOW VARIABLES LIKE 'validate_password%';
+--------------------------------------+-------+
| Variable_name                        | Value |
+--------------------------------------+-------+
| validate_password_check_user_name    | OFF   |
| 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     |
+--------------------------------------+-------+

長さとポリシーを変更して、再度変更を確認。

mysql> SET GLOBAL validate_password_length=4;
mysql> SET GLOBAL validate_password_policy=LOW;
mysql> SHOW VARIABLES LIKE 'validate_password%';
+--------------------------------------+-------+
| Variable_name                        | Value |
+--------------------------------------+-------+
| 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> set password for root@localhost=password('root');

4文字以下のパスワードが登録できるようになった。
ちなみにポリシーは

LOW :長さ
MEDIUM :長さ。数値、小文字、大文字、および特殊文字
STRONG :長さ。数値、小文字、大文字、および特殊文字。辞書ファイル

参考ページ

https://dev.mysql.com/doc/refman/5.6/ja/validate-password.html

1
0
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
1
0