数据库(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> 
相关推荐
深念Y1 分钟前
图数据库 vs 向量数据库:AI时代的两个“最强大脑”
数据库·人工智能·neo4j·图论··向量·rag
2301_782659183 分钟前
SQL视图能否用于数据仓库模型_雪花模型与视图构建
jvm·数据库·python
m0_377618237 分钟前
CSS如何让文字超出两行显示省略号_使用line-clamp属性限制
jvm·数据库·python
m0_743623929 分钟前
HTML5中LocalStorage存储用户自定义快捷键配置
jvm·数据库·python
2301_7735536212 分钟前
HTML5中SharedWorker生命周期与浏览器进程关闭的关系
jvm·数据库·python
m0_6403093018 分钟前
mysql flush privileges有什么作用_mysql权限生效机制解析
jvm·数据库·python
2401_8971905519 分钟前
mysql备份期间如何监控系统负载_使用iostat与top命令
jvm·数据库·python
2301_7965885020 分钟前
SQL批量删除不同条件的记录_使用IN子句简化删除逻辑
jvm·数据库·python
m0_6845019820 分钟前
Golang如何解析嵌套JSON_Golang嵌套JSON解析教程【简明】
jvm·数据库·python
2301_8148098629 分钟前
防止SQL注入的运维实践_实时清理数据库缓存与历史记录.txt
jvm·数据库·python