详解mysql5.7密码忘记解决方法

作者:Matrix-bystander 时间:2024-01-28 16:10:00 

ENV:


[root@centos7 ~]# uname -r
3.10.0-514.el7.x86_64
[root@centos7 ~]# cat /etc/redhat-release
CentOS Linux release 7.3.1611 (Core)
[root@centos7 ~]# rpm -qa mysql
[root@centos7 ~]# rpm -qa |grep mysql
mysql-community-common-5.7.26-1.el7.x86_64
mysql-community-client-5.7.26-1.el7.x86_64
mysql57-community-release-el7-11.noarch
mysql-community-server-5.7.26-1.el7.x86_64
mysql-community-libs-5.7.26-1.el7.x86_64
mysql-community-libs-compat-5.7.26-1.el7.x86_64

登陆时出错:


[root@centos7 ~]# mysql -u root -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

密码忘记了(和刚安装后不知道密码一样)

网上有人说mysql的密码是空密码,其实在mysql5.7版本之后,密码不再是空密码了,

如果是刚安装的,可以在mysql的日志文件找到


grep 'temporary password' /var/log/mysqld.log

补充:如果找到mysql提供的密码,可以使用

mysqladmin -u root -p 'mysql提供的密码' password ‘自己的新密码' 

直接修改mysql的密码,但这种方法存在安全隐患,毕竟密码在命令行上显示了,不建议但不反对。

如果是忘记,修改如下:

1.修改 /etc/my.cnf,加入 skip-grant-tables;


[root@centos7 ~]# vim /etc/my.cnf

空白位置加入,并保存退出;


[mysqld]

skip-name-resolve
skip-grant-tables

[root@centos7 ~]# systemctl restart mysqld

2.空密码直接进入mysql;


[root@centos7 ~]# mysql -u root -p
Enter password: (这里是空密码,直接回车)
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.26 MySQL Community Server (GPL)

Copyright (c) 2000, 2019, 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.

mysql>

进入mysql库;


mysql> use mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql>

这里的mysql并不是没变,数据库位置是变化的;

3.修改密码:UPDATE user SET authentication_string=PASSWORD('newpassword') where USER='root';


mysql> UPDATE user SET authentication_string=PASSWORD('newpassword') where USER='root';
Query OK, 1 row affected, 1 warning (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 1

mysql>
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

mysql>

4改回/etc/my.cnf

注释掉 #skip-grant-tables


[root@centos7 ~]# vim /etc/my.cnf

[mysqld]

skip-name-resolve
#skip-grant-tables

[root@centos7 ~]# systemctl restart mysqld

5.用新的密码再进入mysql;


[root@centos7 ~]# mysql -u root -p
Enter password: (之前演示为newpassword)
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 6
Server version: 5.7.26

Copyright (c) 2000, 2019, 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.

mysql>

6.更改root密码,更改root密码: alter user 'root'@'localhost' identified by '密码';

修改用户密码;


ALTER USER testuser IDENTIFIED BY '123456';

修改当前登录用户


ALTER USER USER() IDENTIFIED BY '123456';

mysql> alter user user() identified by 'Linuxpassword!@#';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
mysql> alter user user() identified by 'LINUX123password!@#';
Query OK, 0 rows affected (0.00 sec)

mysql>

可以看出,密码的复杂度有了很大的要求;

7.修改完成后就可以继续操作mysql了


mysql> show databases;
+--------------------+
| Database      |
+--------------------+
| information_schema |
| mysql       |
| performance_schema |
| sys        |
+--------------------+
4 rows in set (0.00 sec)

mysql> exit
Bye

以上所述是小编给大家介绍的mysql5.7密码忘记解决方法详解整合网站的支持!

来源:https://blog.csdn.net/silent_ghost/article/details/89819511

标签:mysql5.7,忘记密码
0
投稿

猜你喜欢

  • Bootstrap组合上、下拉框简单实现代码

    2024-04-10 11:03:05
  • Python利用networkx画图绘制Les Misérables人物关系

    2021-03-31 07:41:54
  • 解析Python扩展模块的加速方案

    2022-12-26 04:53:00
  • [翻译]标记语言和样式手册 Chapter 7 锚点

    2008-01-28 14:01:00
  • SQLServer存储过程中事务的使用方法

    2024-01-29 06:56:03
  • 使用Python开发SQLite代理服务器的方法

    2021-01-27 13:10:31
  • python使用pyecharts库画地图数据可视化的实现

    2023-04-18 09:44:25
  • Python将视频或者动态图gif逐帧保存为图片的方法

    2022-08-08 00:50:17
  • Python 由字符串函数名得到对应的函数(实例讲解)

    2023-07-24 07:28:29
  • JavaScript实现前端倒计时效果

    2024-06-05 09:34:10
  • python 怎样将dataframe中的字符串日期转化为日期的方法

    2022-09-14 16:21:49
  • python异步实现定时任务和周期任务的方法

    2021-11-11 19:01:45
  • python3利用venv配置虚拟环境及过程中的小问题小结

    2023-04-29 06:01:28
  • Python timer定时器两种常用方法解析

    2023-07-21 19:20:56
  • python3 实现的人人影视网站自动签到

    2022-01-22 21:49:52
  • Python入门篇之面向对象

    2023-10-19 16:31:51
  • Flask框架模板渲染操作简单示例

    2023-06-07 00:02:45
  • 详解MySQL数据库之更新语句

    2010-08-08 09:15:00
  • 举例讲解Python中的list列表数据结构用法

    2021-05-07 08:02:53
  • MySQL性能压力基准测试工具sysbench的使用简介

    2024-01-25 04:58:35
  • asp之家 网络编程 m.aspxhome.com