【mysql】You must reset your password using ALTER USER statement before executing this statement. 报错处理
1.问题:登陆mysql以后,不管运行任何命令,总是提示这个
mysql> select user,authentication from mysql.user;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
mysql> show databases;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
2.解决办法
解决方式如下: (1)MySQL版本5.7.6版本(以前)用户可以使用如下命令:
mysql> SET PASSWORD = PASSWORD('l!vWT#mL93'); (2)MySQL版本5.7.6版本(开始后)的用户可以使用如下命令:
mysql> ALTER USER USER() IDENTIFIED BY 'l!vWT#mL93';
3.原因分析
(1)MySQL版本5.6.6版本起,添加了password_expired功能,它允许设置用户的过期时间。这个特性已经添加到mysql.user数据表,但是它的默认值是”N”,可以使用ALTER USER语句来修改这个值。
输入以下命令,将账号密码强制到期:
mysql> ALTER USER 'root'@'localhost' PASSWORD EXPIRE;
此时,用户可以登录到MYSQL服务器,但是在用户为设置新密码之前,不能运行任何命令,就会得到上图的报错,修改密码即可正常运行账户权限内的所有命令。由于此版本密码过期天数无法通过命令来实现,所以DBA可以通过cron定时器任务来设置MySQL用户的密码过期时间。 (2)MySQL 5.7.4版开始,用户的密码过期时间这个特性得以改进,可以通过一个全局变量default_password_lifetime来设置密码过期的策略,此全局变量可以设置一个全局的自动密码过期策略。可以在MySQL的my.cnf配置文件中设置一个默认值。
(a)这会使得所有MySQL用户的密码过期时间都为120天,MySQL会从启动时开始计算时间。
my.cnf配置如下:
[mysqld]
default_password_lifetime=120
(b)如果要设置密码永不过期,my.cnf配置如下:
my.cnf配置如下:
[mysqld]
default_password_lifetime=0
(3)如果要为每个具体的用户账户设置单独的特定值,可以使用以下命令完成(注意:此命令会覆盖全局策略),单位是“天”,命令如下:
ALTER USER ‘root’@‘localhost' PASSWORD EXPIRE INTERVAL 250 DAY; (4)如果让用户恢复默认策略,命令如下:
ALTER USER 'root'@'localhost' PASSWORD EXPIRE DEFAULT;
(5)个别使用者为了后期麻烦,会将密码过期功能禁用,命令如下:
ALTER USER 'testuser'@'localhost' PASSWORD EXPIRE NEVER;
【mysql】You must reset your password using ALTER USER statement before executing this statement. 报错处理的更多相关文章
- 【mysql】must reset your password using ALTER USER statement before executing this statement
问题描述: must reset your password using ALTER USER statement before executing this statement 登录centos服务 ...
- [mysql]You must reset your password using ALTER USER statement before executing this statement.
原因分析: MySQL版本5.6.6版本起,添加了password_expired功能,它允许设置用户的过期时间.这个特性已经添加到mysql.user数据表,但是它的默认值是”N”,可以使用ALTE ...
- 第一次登录mysql,使用任何命令都报错ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
问题: 使用临时密码登录成功后,使用任何myql命令,例如show databases;都提示下面的报错 ERROR 1820 (HY000): You must reset your passwor ...
- MySQL用户密码过期登陆报错ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
今天接到主从复制失败告警,查看MySQL,发现MySQL能够登陆但是执行命令报错, ERROR 1820 (HY000): You must reset your password using ALT ...
- MySQL root账户密码设为“root”后执行命令提示ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
修改root账户密码为“root”后,提示ERROR 1820 (HY000): You must reset your password using ALTER USER statement bef ...
- MySQL:ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
解决方法: 修改密码:alter user 'root'@'localhost' identified by '123456'; mysql> use mysql; ERROR 1820 (HY ...
- mysql数据库问题———登录进去无法操作显示You must reset your password using ALTER USER statement before executing this statement
linux操作mysql数据库,可以登陆进去,但是操作所有命令都显示You must reset your password using ALTER USER statement before exe ...
- mysql报错:You must reset your password using ALTER USER statement before executing this statement.
新安装mysql后,登录后,执行任何命令都会报错: You must reset your password using ALTER USER statement before executing t ...
- MySQL数据库使用报错ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
今天MySQL数据库,在使用的过程中一直报错ERROR 1820 (HY000): You must reset your password using ALTER USER statement be ...
随机推荐
- 关于在Arduino下STM32编程——RTC函数解析
注意:相关RTC基础知识这里不提! 该库头文件引用: #include <RTClock.h> 该库所在Arduino位置: 初始化RTC相关时钟 Arduino版的库里初始化配置PW ...
- JavaScript的函数以及循环和判断
1.什么是函数? 这个函数跟我们数学当中的函数不太一样,我们这个函数是一段定义好的代码,可以循环使用,(这样我们更方便). 2.函数的作用: 提升代码的可复用性,将一定代码进行预定义,需要的时候才触发 ...
- Linux系统目录结构知识
1.Linux目录结构: 逻辑上所有的目录只有一个顶点 /(根),所有目录的起点.根下面是一个类似倒挂的树的层次结构. 目录的结构和分区设备是没有关系的,也就是不同的目录可以跨越不同的磁盘设备或分区. ...
- C#属性方法 构造函数(不知道自己理解的对不对)
using System; namespace test { class Program { static void Main(string[] args) { Cat kitty = new Cat ...
- NetCore的Docker部署
NetCore的Docker部署 一.NetCore与Docker Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或 ...
- javaWeb核心技术第十四篇之easyui
网站是分为网站的前台和网站的后台. 前台--给用户看的 例如:商城 后台--给管理员看的 例如:商城后台 目的:用来添加维护数据 BootStrap:jsp 页面显示,效果好,美观,适合作为用户界面. ...
- 【C#】学习笔记 abstract、virtual、interface使用的一些栗子
上
- cesium 入门开发系列地图鹰眼功能(附源码下载)
前言 cesium 入门开发系列环境知识点了解:cesium api文档介绍,详细介绍 cesium 每个类的函数以及属性等等cesium 在线例子 内容概览 cesium 结合 leaflet 实现 ...
- vue v-if和v-show的区别
其中v-if依赖于控制DOM节点,而v-show是依赖于控制DOM节点的display属性. 当v-show传入的值为true时,对应DOM元素的display的值为block之类的,反之为false ...
- Masonry纯码实现UIScrollView 之上下滚动,设置UIScrollView背景图片
参考链接:https://www.jianshu.com/p/9a158308c50b 亲测有效,很赞! 你们最想要的Demo下载地址:https://github.com/objcxiaobai/C ...