数据库(mysql)忘记密码解决办法
【代码】数据库(mysql)忘记密码解决办法。
·
步骤一:先停止数据库服务
[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)
步骤二:采用安全模式启动数据库(空密码方式进入数据库)
#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 ~]#
步骤三:登录数据库设置数据库密码信息
[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>
步骤四:重启数据库服务
#先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 ~]
步骤五:验证数据库密码
[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>
更多推荐
已为社区贡献1条内容
所有评论(0)