专栏首页恩蓝脚本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了。

以上就是本文的全部内容,希望对大家的学习有所帮助。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Linux yum 命令安装mysql8.0的教程详解

    下载链接:https://dev.mysql.com/downloads/repo/yum/

    砸漏
  • Linux yum 命令安装mysql8.0的教程详解

    下载链接:https://dev.mysql.com/downloads/repo/yum/

    砸漏
  • Ubuntu18.04(linux)安装MySQL的方法步骤

    Ubuntu18.04 安装mysql或者mariadb之后,发现普通用户和远程都没有权限连接。

    砸漏
  • Ubuntu上MySQL 5.7.25修改root密码

    使用sudo apt install mysql-server方法安装的MySQL服务,安装之后没有临时密码的日志,想着直接修改root密码,但是尝试了很多网上...

    俗可耐
  • MySQL 初始化密码,修改密码,重置忘记的密码

    ALTER USER'root'@'localhost'IDENTIFIED BY 'your_password';

    白墨石
  • MySQL——修改root密码的4种方法(以windows为例)

    双愚
  • MySQL如何修改root用户的密码

    3. 输入mysqld --skip-grant-tables 回车。--skip-grant-tables 的意思是启动MySQL服务的时候跳过权限表认证。

    新码农
  • Ubuntu 修改 mysql 密码

    ppjun
  • Navicat12版本连接,MySQL8.0版本,连接出现 Authentication plugin 'caching_sha2_password' cannot be loaded

    1、在使用Navicat Premium 12,连接MySQL8.0版本数据库时会出现Authentication plugin 'caching_sha2_p...

    别先生
  • 基于 Linux 安装glibc版mysql 5.7.12

    Leshami

扫码关注云+社区

领取腾讯云代金券