「広告」

[mysql 8.0] rootのパスワードを忘れた場合

「広告」
記事内に広告が含まれています。
「広告」

MySQL 8.0 で、rootのパスワードを忘れた場合の覚え書き。

「広告」

mysqld_safe

いろいろ検索をすると、「mysqld_safe」での方法が出てきます。

# find / -name mysqld_safe

↑今回の、RockyLinux 9.2 に入れた、MySQL 8.0では、このコマンドがありません。
違う方法で、再設定を行います。

「広告」

再設定、パスワードを、なしに

# vi /etc/my.cnf

[mysqld]

skip-grant-tables

↑[mysqld]セクションで、「skip-grant-tables」を加えます。

# systemctl restart mysqld

↑mysqld を、再起動させます。

# mysql -u root
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 7
Server version: 8.0.30 Source distribution

Copyright (c) 2000, 2022, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

↑パスワード、なしで、ログインができました。

mysql> UPDATE user SET authentication_string=NULL WHERE user='root';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

↑一度、パスワードを消します(ナシにします)。

# vi /etc/my.cnf

[mysqld]

skip-grant-tables

↑上記の「skip-grant-tables」を消します(無効にします)。

「広告」

パスワードの再設定

# systemctl restart mysqld

↑mysqlのサービスを再起動します。

# mysql -u root -p
Enter password: (そのまま、Enter)
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.30 Source distribution

Copyright (c) 2000, 2022, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

↑「-p」オプションをつけます。パスワードを求められたら、そのまま「Enter」キーを押します。
入れました。

mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> ALTER USER 'root'@'localhost' identified BY '(新しいパスワード)';
Query OK, 0 rows affected (0.01 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

↑新しいパスワードを設定します。

「広告」

新しいパスワードの確認

# mysql -u root -p
Enter password: 
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

↑パスワード「なし」では、入れませんでした

# mysql -u root -p
Enter password: (新しいパスワード)
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 10
Server version: 8.0.30 Source distribution

Copyright (c) 2000, 2022, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

↑設定したパスワードで入れました。

 

 

 

タイトルとURLをコピーしました