文档章节

Centos7重置Mysql 8.0.1 root 密码

豆花饭烧土豆
 豆花饭烧土豆
发布于 06/20 03:35
字数 630
阅读 72
收藏 7

问题产生背景:

安装完 最新版的 mysql8.0.1后忘记了密码,向重置root密码;找了网上好多资料都不尽相同,根据自己的问题总结如下:

第一步:修改配置文件免密码登录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用户密码;

  1. 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

转载:https://www.cnblogs.com/jjg0519/p/9034713.html

© 著作权归作者所有

共有 人打赏支持
豆花饭烧土豆
粉丝 14
博文 352
码字总数 92353
作品 0
深圳
centos7下使用yum安装mysql并创建用户,数据库以及设置远程访问

CentOS7的yum源中默认好像是没有mysql的。为了解决这个问题,我们要先下载mysql的repo源。 1. 下载mysql的repo源 $ wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm ...

柳哥
2015/03/07
9.6K
0
CentOS 7.4下使用yum安装MySQL5.7.20 最简单的

CentOS7默认数据库是mariadb, 但是 好多用的都是mysql ,但是CentOS7的yum源中默认好像是没有mysql的。 上一篇安装的是5.6的但是我想安装5.7的 yum安装是最简单的 尝试过编译安装各种问题,最...

万建宁
07/19
0
0
CentOS 7.4 安装mysql5.6(yum)

前言:CentOS7的yum源中默认好像是没有mysql的。为了解决这个问题,我们要先下载mysql的repo源。 1. 下载mysql的repo源 $ wget http://repo.mysql.com/mysql-community-release-el7-5.noarc...

qimh
2017/10/18
0
4
Centos7 yum安装mysql

CentOS7的yum源中默认好像是没有mysql的。为了解决这个问题,我们要先下载mysql的repo源。 下载mysql的repo源 $ wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm 安装...

waterCabin
2016/03/23
286
0
centos7 yum安装mysql

一、配置yum源安装mysql(默认安装5.7版本) [root@localhost ~]#wget https://repo.mysql.com//mysql57-community-release-el7-9.noarch.rpm [root@localhost ~]#mysql57-community-releas......

as7446
2017/04/21
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Flask 开发填坑

插件的选择: flask-security 真的是个鸡肋啊。自带的页面,好丑。还不如用flask-login来做呢。

pearma
今天
2
0
讲述下 :LVM逻辑卷管理遇到的问题

LVM学习逻辑卷管理创建逻辑卷遇到的问题 1 实验环境 系统 内核 发行版本 CentOS 2.6.32-754.2.1.el6.x86_64 CentOS release 6.10 (Final) 由于是最小化安装没有xfs命令,yum安装如下包支持此...

linuxprobe16
今天
1
0
day95-20180922-英语流利阅读-待学习

Hey Jude 半个世纪传唱不衰的背后故事 毛西 2018-09-22 1.今日导读 2004 年,The Beatles 被《滚石》杂志选为“历史上最伟大的 50 位流行音乐家的第一位”。这四名来自英国利物浦的男孩不仅对...

飞鱼说编程
今天
3
0
OSChina 周六乱弹 —— 放假前期焦虑症晚期

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @andonny :分享Matteo的单曲《Panama》: 《Panama》- Matteo 手机党少年们想听歌,请使劲儿戳(这里) @新垣吉衣OSC :我发现只要去有小朋友...

小小编辑
今天
358
10
wait()被notify()后,接着执行wait()后面的语句

wait()被notify()后,接着执行wait()后面的语句

noteman
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部