解决You must reset your password using ALTER USER statement before executing this statement.错误

Linux7.0或7.0以上版本下载Mysql数据库及解决一些棘手问题


声明
        说此文章的目的是为了让小白少踩地雷,并无其他原因,为此如果写的和您理解的不一样的话,那么请提出您宝贵的意见,谢谢!

介绍
       由于我们使用的Linux系统是7.0或7.0以上的,所以我们下载数据库的时候,用之前的命令"yum -y install mysql-server mysql mysql-deve"来下载Mysql,但是这是只用于Linux7.0版本之下,如果要是Linux7.0版本的话,那么该命令是无法下载

下载

步骤一:初始工作
[root@xxxxx~]# wget http://dev.mysql.com/get/mysql57-commounity-releease-el7-8.noarch.rpm    #访问该网络
[root@xxxxx~]# yum  localinstall  mysql57-communit-release-el7-8.noarch.rpm  #将mysql下载到本地yum中
步骤二:进行安装mysql
[root@xxxxx~]# yum install  mysql-community-server  #安装mysql的服务
[root@xxxxx~]# systemctl start  mysqld    			#开启mysql服务
[root@xxxxx~]# systemctl status mysqld     			#查看mysql状态
步骤三:进行登录mysql
[root@xxxxx~]# grep 'temporary password' /var/log/mysqld.log  #查看默认密码
[root@xxxxx~]# mysql -u root -p 	
[root@xxxxx~]# 输入显示的默认密码即可跳转到mysql窗口中
额外关于mysql服务语句:
[root@xxxxx~]# systemctl  restart mysqld			#重启mysql服务
[root@xxxxx~]# systemctl  stop    mysqld			#关闭mysql服务

易出错问题

     在我们成功登陆数据库之后,原以为可以操作数据库了,但是当我们随机运行一个sql语句时(这里我是运行的"select * from user "),mysql命令窗口却提示:

ERROR 1820 (HY000): You must reset your password using ALTER USE statement before executing this statement.
错误翻译:在执行该语句之前,你必须通过 alter user 来修改密码

   看到这样的错误,我们第一时间会通过"alter user ‘用户名’@‘loaclhost’ identified by ‘修改的密码’; " 该语句来修改密码,但是执行该语句之后,又发现一个新的错误:

ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
错误翻译:您的密码太过于简单.

   哇这样太坑了吧,看到这里相信在座的各位心里面应该都快要崩溃了,感觉自己像是被玩耍了一下,但不要着急,心急吃不了热豆腐,咱们一步一步来将它们解决掉.

   首先我们重新执行更改用户密码语句

mysql>alter user  user() identified by '';    //这里注意,填写密码的时候满足8位并且尽量是混合密码(英文、下划线、数字)

这样的话会发现我们的密码修改成功了,咦刚才明明不行的,为什么现在却可以了(实际上,如果刚才报错的话是因为咱们设置的密码过于简单,而导致触发了Mysql的一个策略),不过虽然解决了,但是相信各位肯定有很多疑惑,不过不要急接着往下看

mysql> show  varialables like 'validate_password%';   //执行该语句

在这里插入图片描述
可以看到图片中的Variable_name和Value的参数,其中我们会发现有个数字8和Medium(中等)的值,接着在看它们对应的参数为validate_password_length(密码长度)和validate_password_policy(密码策略)

    看到我相信在座各位的疑惑应该都解决了吧,为什么简单密码不行,为什么六位数的密码不行,原因问题出现在这里,那么应该怎么样修改它们呢?

mysql> set global validate_password_policy=low; 			//将密码级别改为弱
mysql> set global validate_password_length=6;				//将密码长度改为6

/*
	执行完之后,我们可以将刚才设置的混合密码
	改为自己想要的数字密码或英文密码了
*/
mysql> alter user  '用户名'@'localhost' identified by '123456'; //改密码方式一
mysql> alter user  USER()  identified by '123456'; 			    //改密码方式二

结尾
         通过以上的步骤我们也就把刚才的问题全部解决掉了,到了该说再见的时候了,如有哪些问题,请您提出宝贵的意见,谢谢!

  • 30
    点赞
  • 59
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值