Centos7重置Mysql 8.0.1 root 密码
问题产生背景:
安装完 最新版的 mysql8.0.1后忘记了密码,向重置root密码;找了网上好多资料都不尽相同,根据自己的问题总结如下:
第一步:修改配置文件免密码登录mysql
- vim /etc/my.cnf
1.2 在 [mysqld]最后加上如下语句 并保持退出文件;
- skip-grant-tables
1.3 重启mysql服务:
- service mysqld restart
第二步免密码登录到mysql上;直接在命令行上输入:
- mysql
- //或者
- mysql -u root -p
- //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字段下有内容,先将其设置为空;
- use mysql;
- update user set authentication_string='' where user='root';
3.3 退出mysql, 删除/etc/my.cnf文件最后的 skip-grant-tables 重庆mysql服务;
3.4 使用root用户进行登录,因为上面设置了authentication_string为空,所以可以免密码登录;
- mysql -u root -p
- passwrod:直接回车;
3.5使用ALTER修改root用户密码;
- ALTER user 'root'@'localhost' IDENTIFIED BY 'Qian123#'
至此修改成功; 从新使用用户名密码登录即可;
修改中遇到的问题:
1. 根据网上的这篇文章进行修改,报错;
网友文章:Linux-CentOS7下修改root密码和密码过期问题:
在使用这句话修改密码时报错:
- update user set password = password('new-password') where user = 'root' ;
- or
- 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. 一定不要采取如下形式该密码:
- use mysql;
- 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
Centos7重置Mysql 8.0.1 root 密码的更多相关文章
- mysql 8.0 忘记root密码后重置
最近状态很不好,一直晕晕晕晕晕晕乎乎的,一个测试实例,下班前修改了一下root的密码,接着就下班走人,第二天来发现root密码忘了 刚好自动化安装脚本整理好了,本来想着算了直接重装实例得了,简单省事也 ...
- 修改mysql 8.0.16 root 密码--mac
https://blog.csdn.net/HECTOR_1368391900/article/details/90732097 https://my.oschina.net/u/3251146/bl ...
- mysql 8.0忘记root密码
1.修改参数文件添加以下内容 skip-grant-tables 2.关闭数据库 [root@node01 ~]# /etc/init.d/mysqld8 stop Shutting down MyS ...
- centos7安装mysql,以及设置root密码
1.首先进入mysql官网的下载-社区https://dev.mysql.com/downloads/ 2.点击下载后,切换版本5.7(这里的版本对于rpm没有作用),然后在新的页面中选择操作系统 3 ...
- Mysql数据库中设置root密码的命令及方法
我们都知道通常PHP连接 Mysql都是通过root用户名和密码连接,默认情况下在Mysql安装时root初始密码为空,在安装使用PHP开源系统时,都需要填写连接Mysql数据库的用户名和密码,此时当 ...
- MySQL 5.7忘记root密码如何修改?
一直以来,MySQL的应用和学习环境都是MySQL 5.6和之前的版本,也没有去关注新版本MySQL 5.7的变化和新特性.今天帮人处理忘记root密码的时时候,发现以前的方法不奏效了.具体情况如下所 ...
- mysql(mariadb)如何更改root密码
mysql(或者mariadb,她是mysql的一个分支,完全开源,新版本的linux系统默认安装的是mariadb)如何更改root密码呢?我们主要介绍命令mysqladmin来实现. mysql( ...
- MySQL 8.*版本 修改root密码
MySQL .*版本 修改root密码 查看版本:select version() from dual; 1.6. 登录mysql: 登录mysql:(因为之前没设置密码,所以密码为空,不用输入密码, ...
- Mysql 5.7 忘记root密码或重置密码的详细方法
在Centos中安装完MySQL数据库以后,不知道密码,这可怎么办,下面给大家说一下怎么重置密码 在Centos中安装完MySQL数据库以后,不知道密码,这可怎么办,下面给大家说一下怎么重置密码 1. ...
随机推荐
- 微信浏览器Ajax请求返回值走error
微信浏览器Ajax post请求是返回值走的error $.ajax({ type: "POST", url: "https://XXXX", cache: f ...
- mui.fire()触发自定义事件
导读:添加自定义事件监听操作和标准js事件监听类似,可直接通过window对象添加,通过mui.fire()方法可触发目标窗口的自定义事件. 监听自定义事件 添加自定义事件监听操作和标准js事件监听类 ...
- ABP框架系列之四十八:(Specifications-规范)
Introduction Specification pattern is a particular software design pattern, whereby business rules c ...
- PB的一些记录
断点设置在函数内,发现返回值没有,需要取消函数内断点才正常 加密--采用矩阵乘法 行列式取+_1的矩阵与逆矩阵其元素都是整数,, 可以使用matlab来找到这些矩阵 A* I =E A ...
- python_requests随笔
#coding=utf-8 import requests url = "http://oj.jxust.edu.cn" #如果需要持续的链接,可以使用里面的Session方法(保 ...
- 2.html基础标签:无序+有序+自定义列表
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 音视频编解码——RGB与YUV格式转换
一.RGB模型与YUV模型 1.RGB模型 我们知道物理三基色分别是红(Red).绿(Green).蓝(Blue).现代的显示器技术就是通过组合不同强度的红绿蓝三原色,来达成几乎任何一种可见光的颜色. ...
- 第二十七节:Java基础面向对象-静态,单例模式,继承详情知识点
前言 Java基础面向对象-静态,单例模式,继承详情知识点.静态-static关键字,static变量,静态代码块,代码块(不加静态),对象创建过程,单例模式,继承. 静态-static关键字 // ...
- dubbo rpc调用,接收到的bean为null原因?
前几天对接公司内部其他部门的系统,用dubbo调用,dubbo看起来很简单,但是却让我们调试了好久啊! 下面是调试纪录: 1. 调用该服务时,直接调不通,查看错误为 no provider ? 然后就 ...
- python基础的几个小练习题
题目: 1.写一个程序,判断2008年是否是闰年. 2.写一个程序,用于计算2008年10月1日是这一年的第几天?(2008年1月1日是这一年的第一天) 3.(文件题)有一个“record.txt”的 ...