MySQLroot密码的重置方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MySQLroot密码的重置⽅法
⽬录
1、忘记root密码,进不去数据库:
对于DBA来说,丢失超管⽤户root的密码是致命的,
可以通过添加--ship-grant-tables参数来跳过权限表。
1、忘记root密码,进不去数据库:
这个时候需要强制停库,先查看MySQL进程号
Kill掉MySQL进程,命令如下:
Kill完可以再查看是否还有进程
[root@tse2 tmp]# kill -9 9840 1
[root@tse2 tmp]# ps -ef |grep mysql
建议停库这种操作不要影响业务的情况下,停服操作的,还有最好这种密码记录好的,可以⽤keepass保存密码软件!
然后加跳过权限表参数,重启数据库。
这样即使不输⼊密码,也可以进⼊数据库。
[root@tse2 bin]# mysqld_safe --defaults-file=/etc/f --skip-grant-tables &
[1] 4854
直接输⼊mysql不需要密码即可进⼊
给root⽤户设置新的密码并刷新权限,MySQL5.7之后,库下的password字段⽤authentication_string字段代替。
(product)root@localhost:mysql.sock [(none)]> use mysql;
Database changed
(product)root@localhost:mysql.sock [mysql]> update user set authentication_string=password('123456') where user='root';
Query OK, 0 rows affected, 1 warning (0.00 sec)
Rows matched: 1 Changed: 0 Warnings: 1
(product)root@localhost:mysql.sock [mysql]> flush privileges;
Query OK, 0 rows affected (0.00 sec)
设置完成之后,重启数据库。
注意重启的时候不需要再加--skip-grant-tables参数了,正常启动服务,输⼊新的密码可以正常进⼊数据库了。
这边重启以后测试直接mysql没有密码是⽆法进⼊的了。
[root@tse2 bin]# mysqld_safe --deaults-file=/etc/f &
[2] 6720
[root@tse2 bin]# 2020-01-16T02:55:45.223195Z mysqld_safe Logging to '/mysql/mysql3306/logs/error.log'.
2020-01-16T02:55:45.262302Z mysqld_safe A mysqld process already exists
[2]+ Exit 1 mysqld_safe --deaults-file=/etc/f
[root@tse2 bin]# mysql
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
这边输⼊密码连接,即可正常进⼊,是修改后的密码123456
[root@tse2 bin]# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.7.23-log MySQL Community Server (GPL)
Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
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.
(product)root@localhost:mysql.sock [(none)]> use mysql
Database changed
(product)root@localhost:mysql.sock [mysql]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.01 sec)
以上就是MySQL root密码的重置⽅法的详细内容,更多关于MySQL root密码重置的资料请关注其它相关⽂章!。