当前位置: 首页 > 编程笔记 >

Linux MySQL忘记root密码解决方案

郎雅昶
2023-03-14
本文向大家介绍Linux MySQL忘记root密码解决方案,包括了Linux MySQL忘记root密码解决方案的使用技巧和注意事项,需要的朋友参考一下

在使用MySQL数据库时,由于某些原因长时间没有登陆MySQL,或者由于工作交接完成度不高,导致数据库root登陆密码忘记,如何解决?

一、更改my.cnf配置文件

1、用命令编辑/etc/my.cnf配置文件,即:vim /etc/my.cnf 或者 vi /etc/my.cnf 或者 nano /etc/my.cnf

2.在[mysqld]下添加skip-grant-tables,然后保存并退出

3.重启mysql服务:service mysqld restart

二、更改root用户名

1、重启以后,执行mysql命令进入mysql命令行

2、修改root用户密码

MySQL> UPDATE mysql.user SET Password=PASSWORD('新密码') where USER='root';
MySQL> flush privileges;
MySQL> exit

注意:以上是5.7之前的版本使用,5.7之后的版本没有Password字段,password字段改成了authentication_string

mysql> update mysql.user set authentication_string=password(‘root123456') where user='root'; #修改密码成功
Query OK, 1 row affected, 1 warning (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 1
mysql> flush privileges; #立即生效
Query OK, 0 rows affected (0.00 sec)

mysql> quit
Bye

n>mysql -u ******* -p #以该用户登录成功.
Enter password: ********
…………………………
mysql>

注意:5.7之后的版本,密码不能过于简单,如123456,否则会报以下错误:ERROR 1819 (HY000): Your password does not satisfy the current policy requirements。

此时,要么把密码设置复杂点,要么修改配置:

这个其实与validate_password_policy的值有关。

validate_password_policy有以下取值:

默认是1,即MEDIUM,所以刚开始设置的密码必须符合长度,且必须含有数字,小写或大写字母,特殊字符。
有时候,只是为了自己测试,不想密码设置得那么复杂,譬如说,我只想设置root的密码为123456。
必须修改两个全局参数:

首先,修改validate_password_policy参数的值

mysql> set global validate_password_policy=0;
Query OK, 0 rows affected (0.00 sec)
1
2
validate_password_length(密码长度)参数默认为8,我们修改为1

mysql> set global validate_password_length=1;
Query OK, 0 rows affected (0.00 sec)
1
2
4,完成之后再次执行修改密码语句即可成功

mysql> alter user 'root'@'localhost' identified by '123456';
Query OK, 0 rows affected (0.00 sec)

3、最后把/etc/my.cnf中的skip-grant-tables注释掉,然后重启mysql,即:service mysqld restart

OK,下面我们就可以使用root新的密码登录MySQL了。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。

 类似资料:
  • 本文向大家介绍MACOS中忘记MySQL root密码的解决方案,包括了MACOS中忘记MySQL root密码的解决方案的使用技巧和注意事项,需要的朋友参考一下 MySQL 是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Da

  • 本文向大家介绍Mysql5.6 忘记root密码的解决办法,包括了Mysql5.6 忘记root密码的解决办法的使用技巧和注意事项,需要的朋友参考一下 查看当前安装的mysql版本: root@oraserver139 ~]# rpm -qa | grep MySQL MySQL-server-5.6.15-1.el6.x86_64 MySQL-client-5.6.15-1.el6.x86_64

  • 本文向大家介绍Windows 8.1下MySQL5.7 忘记root 密码的解决方法,包括了Windows 8.1下MySQL5.7 忘记root 密码的解决方法的使用技巧和注意事项,需要的朋友参考一下 【背景】       最近学习碰到了一件挺令人尴尬的事情,我把MySQL的密码给忘记了,所以MySQL登录不进去。       网上的解决方案很多,尝试了很多,依旧是被窗口的各种报错虐。感谢大神的

  • 本文向大家介绍Mysql5.6忘记root密码修改root密码的方法,包括了Mysql5.6忘记root密码修改root密码的方法的使用技巧和注意事项,需要的朋友参考一下 mysql5.6忘记数据库的root密码: [root@oraserver139 ~]# mysql -uroot -p Enter password: ERROR 1045 (28000): Access denied for

  • 本文向大家介绍MySQL root密码忘记后更优雅的解决方法,包括了MySQL root密码忘记后更优雅的解决方法的使用技巧和注意事项,需要的朋友参考一下 前言 一直以来,对于MySQL root密码的忘记,以为只有一种解法-skip-grant-tables。 问了下群里的大咖,第一反应也是skip-grant-tables。通过搜索引擎简单搜索了下,无论是百度,抑或Google,只要是用中文搜

  • 本文向大家介绍MySQL5.1忘记root密码的解决办法(亲测),包括了MySQL5.1忘记root密码的解决办法(亲测)的使用技巧和注意事项,需要的朋友参考一下 网上搜了很多方法,杂,重复度高。但随便选一个却不奏效。这里简单贴一个亲测的。 相关阅读:忘记mysql数据库root用户密码重置方法[图文] 参考后,我用的方法: 以上方法安全,需要的朋友可以放心使用,有关mysql5.1忘记root密