【Mac系统】之Mysql数据库遇到修改数字密码的问题(SQL语法错误:ERROR 1064 (42000),密码策略等问题:ERROR 1819 (HY000))
安装完Mysql也进行了第一次初始化密码以及修改密码规则(请参考文章),但是我想后续再改密码,出现了下面几个问题:
#SQL语句错误问题
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to
your MySQL server version for the right syntax to use near '('12345678') WHERE user = 'root'' at line 1 #密码策略问题
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
一、SQL语句错误问题
在网上找了很多的设置密码的语句,发现都不适合,后来才发现,是我在设置密码规则时动了手脚,要按照密码规则设置的执行语句修改密码才可以(文章内容刚刚在上面文字发了链接,可以参考文章里的“修改密码规则”那块内容)
言归正传,下面为网上搜的一些更新密码的语句,由于不适合我的密码规则,所以用不了,但不一定其他人用不了,先在此记录下来:
UPDATE user SET Password = PASSWORD('') WHERE user = 'root'; SET PASSWORD FOR 'root'@'localhost' = PASSWORD(123456);
下面是我的密码规则,更新密码语句,执行下面的语句就不报上面的语法错误了:
#下面两种都可以修改密码
ALTER user 'root'@'localhost' IDENTIFIED BY '';
#或
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '';
二、密码策略问题
当我执行下面这两种语句时,报:
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements密码策略问题
ALTER user 'root'@'localhost' IDENTIFIED BY '';
#或
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '';
后经帮助查到一篇文章:《ERROR 1819 (HY000): Your password does not satisfy the current policy requirements》解决此问题。
解决办法:
先登录数据库,执行下面语句:
mysql -u root -p password:xxx
1、查看 mysql 初始的密码策略,
输入下面语句,进行查看,如图
SHOW VARIABLES LIKE 'validate_password%';
这个就是密码策略!!!
关于 mysql 密码策略相关参数;
1)、validate_password_length 固定密码的总长度;
2)、validate_password_dictionary_file 指定密码验证的文件路径;
3)、validate_password_mixed_case_count 整个密码中至少要包含大/小写字母的总个数;
4)、validate_password_number_count 整个密码中至少要包含阿拉伯数字的个数;
5)、validate_password_policy 指定密码的强度验证等级,默认为 MEDIUM;
关于 validate_password_policy 的取值:
0/LOW:只验证长度;
1/MEDIUM:验证长度、数字、大小写、特殊字符;
2/STRONG:验证长度、数字、大小写、特殊字符、字典文件;
6)、validate_password_special_char_count 整个密码中至少要包含特殊字符的个数;
2、设置密码的验证强度等级(就是因为这个问题)
只要修改密码强度等级就可以,就可以解决密码策略问题,原因是自己的密码“1234567”太简单了!!!所以改LOW点!!!
执行语句:
set global validate_password.policy=LOW; set global validate_password.policy=0;(我用的这条)
set global validate_password_policy=LOW; ==》文章里说用这个,但是我的密码策略那个字段名称是validate_password.policy,所以大家注意一下。
修改完强度等级之后,再执行:
#修改密码长度(可有可无,随意)
set global validate_password.length = 6; #刷新
FLUSH PRIVILEGES; #更改密码成功!!!
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY ''; #刷新
FLUSH PRIVILEGES; #退出
exit; #再重新用新密码登录
mysql -u root -p password:输入新密码
大功告成!!!
具体修改其他内容可以参考解决问题的文章!!!!
==============================================
扩展其他,更新查看user表信息:
update user set authentication_string='' where user='root';
select user,host,authentication_string from user;
最新文章
- 针对功能权限(url访问)如何避免越权访问
- 使用JS实现轮播图的效果
- 微信webview
- C++之友元
- 【原】react中如何使用jquery插件
- 转:程序员必须知道的几个Git代码托管平台
- (转)【ASP.NET开发】获取客户端IP地址 via C#
- OAuth2.0详解
- Kinect For Windows V2开发日志七:照片合成与背景消除
- Zend Studio 10正式版注册破解
- vs2012新建实体数据模型(EF)时无Mysql数据源
- 【POJ】3283 Card Hands
- SQL Server 2008性能故障排查(四)——TempDB
- S3C2440启动代码2440init.s彻底解析
- basepath的作用 (转)
- DOM备忘录
- 用自定义注解实现fastjson序列化的扩展
- 2019.03.25 bzoj4539: [Hnoi2016]树(主席树+倍增)
- Random()种子数
- Could not transfer artifact org.springframework
热门文章
- 设置iframe高度自适应屏幕高度
- 代理模式(Proxy)--静态代理
- Eclipse使用Debug模式调试Spring Boot项目时跳转到exitCurrentThread的问题
- 【Mybatis】未封装返回结果的字段自己返回值的问题
- 【GitHub】README.md文件中 markdown语法 插入超链接
- 手动删除SVCH0ST.EXE的方法
- RESTful接口签名认证实现机制
- [Algorithms] Using Dynamic Programming to Solve longest common subsequence problem
- 【转载】深入理解JVM性能调优
- python-mysql-replication