MySQLパスワードを忘れた場合の対処方法について心配する必要はありません。恐れることはありません。この記事で十分です。

理由:私のサーバー上のMySQLは長い間使用されておらず、突然必要になりましたが、パスワードを忘れたので、参考のために自分自身と皆さんのためにソリューションを作成します。

解決

1. mysqlサービスが開始されているかどうかを確認します。開始されている場合は、mysqlサービスを閉じます。

[root@localhost ~]# systemctl stop mysqld
[root@localhost ~]# systemctl status mysqld
● mysqld.service - MySQL Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
   Active: inactive (dead) since Sun 2020-10-11 07:59:51 EDT; 1s ago

2.mysql構成ファイルmy.confを変更します

[root@localhost ~]# vi /etc/my.cnf
## 在 [mysqld] 下添加最后一行代码
[mysqld]
user = mysql
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port = 3306
character_set_server=utf8
pid-file = /usr/local/mysql/mysqld.pid
socket = /usr/local/mysql/mysql.sock
server-id = 1
skip-grant-tables    ## 添加此行代码即可!
 == > > wq 保存退出

3.データベースを起動します

[root@localhost ~]# systemctl start mysqld

4.MySQLデータベースに入る

[root@localhost ~]# mysql -u root -p
Enter password:    ## 不需要输入密码,直接回车!!!

mysql> use mysql;
mysql> update mysql.user set authentication_string=password('password') where user='root';
## password替换成你想要的密码
mysql> exit;   
改完之后退出MySQL即可

5.以前に追加した構成ファイルを削除します

[root@localhost ~]# vi /etc/my.cnf
[mysqld]
user = mysql
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port = 3306
character_set_server=utf8
pid-file = /usr/local/mysql/mysqld.pid
socket = /usr/local/mysql/mysql.sock
server-id = 1
skip-grant-tables    ## 现在删掉此行代码即可!
== >> wq 保存退出

[root@localhost ~]# systemctl restart mysqld  ## 在重启服务器

この時点で変更は完了しているので、通常どおりMySQLにログインするだけで済みます。
構成ファイルを変更した後、構成ファイルを有効にするには、MySQLを再起動する必要があることに注意してください。

おすすめ

転載: blog.csdn.net/m0_46563938/article/details/109016100