第一步:修改配置文件免密码登录mysql

vim /etc/my.cnf

1.2 在 [mysqld]最后加上如下语句 并保持退出文件;

skip-grant-tables

1.3 重启mysql服务:

service mysqld restart

第二步免密码登录到mysql上;直接在命令行上输入:

  1.  
    mysql
  2.  
    //或者
  3.  
    mysql -u root -p
  4.  
    //password直接回车

第三步: 给root用户重置密码;

3.1 首先查看当前root用户相关信息,在mysql数据库的user表中;

select host, user, authentication_string, plugin from user;

host: 允许用户登录的ip‘位置’%表示可以远程;

user:当前数据库的用户名;

authentication_string: 用户密码;在mysql 5.7.9以后废弃了password字段和password()函数;

plugin: 密码加密方式;

3.2 如果当前root用户authentication_string字段下有内容,先将其设置为空;

  1.  
    use mysql;
  2.  
    update user set authentication_string='' where user='root';

3.3 退出mysql, 删除/etc/my.cnf文件最后的 skip-grant-tables 重庆mysql服务;

3.4 使用root用户进行登录,因为上面设置了authentication_string为空,所以可以免密码登录;

  1.  
    mysql -u root -p
  2.  
    passwrod:直接回车;

3.5使用ALTER修改root用户密码;

 ALTER user 'root'@'localhost' IDENTIFIED BY 'Qian123#'

至此修改成功; 从新使用用户名密码登录即可;

修改中遇到的问题:

1. 根据网上的这篇文章进行修改,报错;

网友文章:Linux-CentOS7下修改root密码和密码过期问题

在使用这句话修改密码时报错:

  1.  
    update user set password = password('new-password') where user = 'root' ;
  2.  
     
  3.  
    or
  4.  
     
  5.  
    update user set authentication_string= password('new-password') where user = 'root' ;

报错原因:mysql5.7.6以后废弃了user表中的password字段和 password() 方法;

所以上面的方法对 mysql8.0.1是行不通的;

2. 根据网友的这篇文章进行修改,报错;

网友文章: 修改MySQL 5.7.9版本的root密码方法以及一些新变化整理

3. 参考MYSQL8的官网文档, 感觉写的也很水;

MySQL8官网文档: mysql8.0 reference for manual

4. 一定不要采取如下形式该密码:

  1.  
    use mysql;
  2.  
    update user set authentication_string="newpassword" where user="root";

这样会给user表中root用户的authentication_string字段下设置了newpassword值;

当再使用ALTER USER 'root'@'localhost' IDENTIFITED BY 'newpassword'时会报错的;

因为authentication_string字段下只能是mysql加密后的41位字符串密码;其他的会报格式错误;

*THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE

Mysql8 忘记Root密码(转)的更多相关文章

  1. mysql8忘记root密码修改密码(mac)

    0.在/etc/my.cnf修改验证方式 [mysqld] default_authentication_plugin=mysql_native_password 1.切换root权限: sudo s ...

  2. Centos下mysql8忘记root密码的解决办法

    首先,打开配置文件/etc/my.cnf,在末尾添加一行: skip-grant-tables 然后重启mysql服务: service mysqld restart 然后可以直接登录到mysql,在 ...

  3. Mac上MySQL忘记root密码且没有权限的处理办法&workbench的一些tips (转)

    忘记Root密码肿么办 Mac上安装MySQL就不多说了,去mysql的官网上下载最新的mysql包以及workbench,先安装哪个影响都不大.如果你是第一次安装,在mysql安装完成之后,会弹出来 ...

  4. Linux忘记root密码怎么办?

    开篇前言:Linux系统的root账号是非常重要的一个账号,也是权限最大的一个账号,但是有时候忘了root密码怎么办?总不能重装系统吧,这个是下下策,其实Linux系统中,如果忘记了root账号密码, ...

  5. mysql忘记root密码解决办法

    最近项目中的数据库我放在了服务器上,但是今天突然不能用了,进入服务器查看,果然是数据库不能进去了,所以今天来分享一个mysql忘记root密码的解决方案: 1.让mysql不载入权限表,命令:mysq ...

  6. MySQL 5.7 Command Line Client输入密码后闪退和windows下mysql忘记root密码的解决办法

    MySQL 5.7 Command Line Client输入密码后闪退的问题: 问题分析: 1.查看mysql command line client默认执行的一些参数.方法:开始->所有程序 ...

  7. MySQL数据库忘记root密码解决办法

    MySQL数据库忘记root密码解决办法 1.在运行输入services.msc打开服务窗体,找到MYSQL服务.右键停止将其关闭.如图:

  8. Centos7 禁止firewalld并使用iptables 作默认防火墙以及忘记root密码的处理方法

    一.停止并禁用firewalld [root@test ~]# systemctl stop firewalld [root@test ~]# systemctl disable firewalld ...

  9. CentOS7|RHEL忘记root密码

    某一服务器长时间不使用,或者由于频繁修改root密码,导致忘记root密码无法登陆系统问题,通过进入单用户修改root密码,CentOS7|RHEL7与6系列有一些区别,不在适用于7. 1.在启动gr ...

随机推荐

  1. Hangfire初探

    Hangfire 是什么? Hangfire 是一个定时任务的管理后台,它拥有定时任务功能和及其相关的管理后台界面.Hangfire 原生使用 .NET 开发的,同时支持 .NET 和 .NET Co ...

  2. MySQL入门第一天——概述、数据表与约束操作

    一.概述 1.安装 初学MySQL,我们下载msi的安装版:http://dev.mysql.com/downloads/file.php?id=457403 安装的过程文字简述可以参考之前随笔:ht ...

  3. 北京Uber优步司机奖励政策(1月3日)

    滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...

  4. 北京Uber优步司机奖励政策(12月28日)

    滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...

  5. 探索 Flask

    探索 Flask 探索 Flask 是一本关于使用 Flask 开发 Web 应用程序的最佳实践和模式的书籍.这本书是由 426 名赞助人 在 Kickstarter 上 于 2013 年 7 月资助 ...

  6. 成员变量:对象vs指针

    一旦类初始化,那么对象必然会被创建,指针则可以在需要时候再去初始化所指向.

  7. jmeter开发自己的sampler插件

    1. 新建maven工程 2.pom文件引入jmeter的核心包 <project xmlns="http://maven.apache.org/POM/4.0.0" xml ...

  8. PS 抠图和添加背景图

    1.打开需要抠的图--然后使用套索类工具,魔棒类工具,钢笔类工具均可选择需要扣的图片范围任何在Delete(如果抠反了可以进行反选Ctrl +shift+I) 2.然后把任一一张背景图直接拖到PS里面 ...

  9. 负数取余/整除,Python和C语言的不同

    总结一句:Python中负数整除,是向负无穷取整,所以导致负数取余不对 在数学公式中,两种语言的表示算法都是一样的,都是: r=a-n*[a/n] 以上,r是余数,a是被除数,n是除数. 唯一不同点, ...

  10. caffe Mac 安装

    参考了 https://zhuanlan.zhihu.com/p/24853767 安装caffe的依赖项 brew install --fresh -vd snappy leveldb gflags ...