MySQL root密码的重置方法

 更新时间:2021年04月20日 14:28:07   作者:Tse先生  
这篇文章主要介绍了MySQL root密码的重置方法,帮助大家更好的理解和学习使用MySQL,感兴趣的朋友可以了解下

对于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/my.cnf --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/my.cnf &
[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/my.cnf
[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密码重置的资料请关注脚本之家其它相关文章!

相关文章

  • mysql 行列动态转换的实现(列联表,交叉表)

    mysql 行列动态转换的实现(列联表,交叉表)

    下面小编就为大家带来一篇mysql 行列动态转换的实现(列联表,交叉表)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-01-01
  • 详解MySQL数据库--多表查询--内连接,外连接,子查询,相关子查询

    详解MySQL数据库--多表查询--内连接,外连接,子查询,相关子查询

    这篇文章主要介绍了MySQL多表查询,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • MySQL分页技术、6种分页方法总结

    MySQL分页技术、6种分页方法总结

    这篇文章主要介绍了MySQL分页技术、6种分页方法总结,本文总结了6种分页的方法并分别一一讲解它们的特点,需要的朋友可以参考下
    2015-07-07
  • delete、truncate、drop的区别以及该如何选择

    delete、truncate、drop的区别以及该如何选择

    这篇文章主要给大家介绍了关于delete、truncate、drop的区别以及该如何选择的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • mysql数据库和oracle数据库之间互相导入备份

    mysql数据库和oracle数据库之间互相导入备份

    今天小编就为大家分享一篇关于mysql数据库和oracle数据库之间互相导入备份,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-04-04
  • Mysql实现主从配置和多主多从配置

    Mysql实现主从配置和多主多从配置

    大型网站为了软解大量的并发访问,除了在网站实现分布式负载均衡,远远不够。必然会想到假设服务器群,来分担主数据库的压力。今天总结一下利用MySQL主从配置,减轻数据库压力
    2021-06-06
  • MySQL null与not null和null与空值''''''''的区别详解

    MySQL null与not null和null与空值''''''''的区别详解

    这篇文章主要介绍了MySQL null与not null和null与空值''的区别详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • MySQL数据类型优化原则

    MySQL数据类型优化原则

    这篇文章主要介绍了MySQL数据类型优化原则的相关资料,帮助大家更好的理解和使用MySQL数据库,感兴趣的朋友可以了解下
    2020-11-11
  • win32安装配置非安装版的MySQL

    win32安装配置非安装版的MySQL

    当前非安装版是从MySQL.com下载来的v5.1.40;下载下来的是一个ZIP压缩包,解压到C:\MySQL5.1.40目录,接下来,设置系统环境变量,好在CMD命令行下使用MySQL。
    2010-02-02
  • 在阿里云的CentOS环境中安装配置MySQL的教程

    在阿里云的CentOS环境中安装配置MySQL的教程

    这篇文章主要介绍了在阿里云的CentOS环境中安装配置MySQL的教程,注意一下文章开头所提到的系统自带MariaDB的问题,需要的朋友可以参考下
    2015-12-12

最新评论