数据库(mysql)忘记密码解决办法

步骤一:先停止数据库服务

bash 复制代码
[root@GGB ~]# systemctl  stop   mysql.service 
[root@GGB ~]# systemctl  status  mysql.service 
● mysql.service - MySQL Server
   Loaded: loaded (/etc/systemd/system/mysql.service; enabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since 五 2024-07-12 01:03:45 CST; 1s ago
  Process: 3738 ExecStop=/usr/local/mysql/bin/mysqladmin shutdown (code=exited, status=1/FAILURE)
  Process: 2951 ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql --datadir=/data/3306/data (code=exited, status=0/SUCCESS)
 Main PID: 2951 (code=exited, status=0/SUCCESS)

步骤二:采用安全模式启动数据库(空密码方式进入数据库)

bash 复制代码
#mysqld_safe  一个命令
#--skip-grant-tables   Start without grant tables. This gives all users FULL  两个参数
#                      数据库服务启动时,不加载授权表(没有保安)
#--skip-networking     Don't allow connection with TCP/IP
                      关闭远程连接端口
mysqld_safe --skip-grant-tables  --skip-networking   &



[root@GGB ~] 
[root@GGB ~]  mysqld_safe --skip-grant-tables --skip-networking &
[1] 4642
[root@GGB ~]  2024-07-11T17:15:00.581337Z mysqld_safe Logging to '/data/3306/data/GGB.err'.
2024-07-11T17:15:00.600168Z mysqld_safe Starting mysqld daemon with databases from /data/3306/data

[root@GGB ~]  
[root@GGB ~]  ps -ef | grep mysql
root       4642   2019  0 01:14 pts/0    00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --skip-grant-tables --skip-networking
mysql      4798   4642  3 01:14 pts/0    00:00:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/data/3306/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --skip-grant-tables --skip-networking --log-error=GGB.err --pid-file=GGB.pid --socket=/tmp/mysql.sock
root       4840   2019  0 01:15 pts/0    00:00:00 grep --color=auto mysql
[root@GGB ~]# 

步骤三:登录数据库设置数据库密码信息

bash 复制代码
[root@GGB ~]  mysql -uroot
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 7
Server version: 8.0.26 MySQL Community Server - GPL

Copyright (c) 2000, 2021, 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> flush privileges;
Query OK, 0 rows affected (0.01 sec)

mysql> alter user root@'localhost' identified by '1';
Query OK, 0 rows affected (0.00 sec)

mysql> 

步骤四:重启数据库服务

bash 复制代码
#先pkiil 掉之前后台启动的数据库
[root@GGB ~] pkill mysql
[root@GGB ~] 
[root@GGB ~] 2024-07-11T17:19:26.708758Z mysqld_safe mysqld from pid file /data/3306/data/GGB.pid ended

[1]+  完成                  mysqld_safe --skip-grant-tables --skip-networking
[root@GGB ~] 
[root@GGB ~] 
[root@GGB ~] systemctl  start   mysql.service 
[root@GGB ~] systemctl  status  mysql.service 
● mysql.service - MySQL Server
   Loaded: loaded (/etc/systemd/system/mysql.service; enabled; vendor preset: disabled)
   Active: active (running) since 五 2024-07-12 01:21:31 CST; 2s ago
  Process: 3738 ExecStop=/usr/local/mysql/bin/mysqladmin shutdown (code=exited, status=1/FAILURE)
 Main PID: 5097 (mysqld)
   CGroup: /system.slice/mysql.service
           └─5097 /usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql --datadir=/data/3306/data
[root@GGB ~] 

步骤五:验证数据库密码

bash 复制代码
[root@GGB ~] mysql -uroot -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.26 MySQL Community Server - GPL

Copyright (c) 2000, 2021, 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> 
相关推荐
bianguanyue27 分钟前
SQLite密码修改故障排查:RSA加密随机性导致的数据库匹配问题
数据库·sqlite·c#
亚马逊云开发者37 分钟前
将 Go 应用从 x86 平台迁移至 Amazon Graviton:场景剖析与最佳实践
linux·数据库·golang
凉拌青瓜哈1 小时前
DVWA-LOW级-SQL手工注入漏洞测试(MySQL数据库)+sqlmap自动化注入-小白必看(超详细)
mysql·安全·网络安全
张先shen2 小时前
亿级流量下的缓存架构设计:Redis+Caffeine多级缓存实战
数据库·redis·缓存
二楼后座。2 小时前
Golang操作MySQL json字段优雅写法
mysql·golang·json
~ 小团子2 小时前
每日一SQL 【各赛事的用户注册率】
数据库·sql
llm2009092 小时前
Jmeter的JDBC数据库连接
数据库·jmeter
lilian1293 小时前
linux系统mysql性能优化
linux·运维·mysql
betazhou3 小时前
SQL server之版本的初认知
数据库·oracle·goldengate·sql server·ogg·gdr
superonion06203 小时前
【DB2】load报错SQL3501W、SQL3109N、SQL2036N
数据库