安装完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;

【Mac系统】之Mysql数据库遇到修改数字密码的问题(SQL语法错误:ERROR 1064 (42000),密码策略等问题:ERROR 1819 (HY000))的更多相关文章

  1. Mac和Windows系统下Mysql数据库的导入导出

    最近在构建数据库的过程中,需要将Mac os系统下的Mysql数据库导出成.sql文件,然后导入到windows系统下的Mysql中.经过学习总结出的步骤如下: 一.Mac os导出Mysql数据库 ...

  2. 解决Linux系统下Mysql数据库中文显示成问号的问题

    当我们将开发好的javaWEB项目部署到linux系统上,操作数据库的时候,会出现中文乱码问题,比如做插入操作,发现添加到数据库的数据中文出现论码,下面就将解决linux下mysql中文乱码问题! 打 ...

  3. Windows系统下MySQL数据库出现Access denied for user 'root'@'localhost' (using password:YES) 错误

    Windows系统下MySQL数据库出现Access denied for user 'root'@'localhost' (using password:YES) 错误,(root密码错误) 处理方 ...

  4. Linux系统下 MYSQL数据库中的数据库文件在本机内迁移 (需暂停服务的方式)

    Linux系统下 MYSQL数据库中的数据库文件在本机内迁移 本机采用Ubuntu16.04系统,tar方式安装MySQL5.7.21 数据库安装文件夹为    /home/devil/mysql 现 ...

  5. linux系统上Mysql数据库导入导出操作

    需求:把MySQL数据库目录中的dz数据库备份到/home/dz_bak.sql ,然后再新建一个数据库dzbak,最后把/home/dz_bak.sql 导入到数据库dzbak中.操作如下:以下操作 ...

  6. MySQL数据库详解(一)执行SQL查询语句时,其底层到底经历了什么?

    一条SQL查询语句是如何执行的? 前言 ​ 大家好,我是WZY,今天我们学习下MySQL的基础框架,看一件事千万不要直接陷入细节里,你应该先鸟瞰其全貌,这样能够帮助你从高维度理解问题.同样,对于MyS ...

  7. mysql数据库优化课程---14、常用的sql技巧

    mysql数据库优化课程---14.常用的sql技巧 一.总结 一句话总结:其实就是sql中那些函数的使用 1.mysql中函数如何使用? 选择字段 其实就是作用域select的选择字段 3.转大写: ...

  8. 【ERROR 1064 (42000)】MySQL中使用mysqladmin或set修改root密码时提示语法错误

    报错信息: mysql> mysqladmin -uroot -p123456 password 654321; ERROR 1064 (42000): You have an error in ...

  9. MySQL保留字 ERROR 1064 (42000)

    在MySQL(5.7.18)数据库中建表 CREATE TABLE SA_ACT_ITEM ( ITEMID ) NOT NULL, REGION ), ACTIONID ), ITEMNAME ), ...

随机推荐

  1. [HDU4336]Card Collector(min-max容斥,最值反演)

    Card Collector Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)To ...

  2. nodejs处理高并发问题

      做了一个nodejs并发测试,先描述一下环境 数据库mysql,大概两张表,读取第一张表test的数据,拿出来-1,存到第二张testlog表记录一下,用jmeter同事模拟50个请求,结果发现, ...

  3. Delphi之过程与函数

    过程以保留字procedure开始,没有返回值:函数以保留字function开始,有返回值. 参数位于括号里面,多个参数之间以分号分隔,例如: procedure SetDate(Year: Inte ...

  4. Ubuntu16.04下安装googlechrome flash 插件和安装网易云音乐

    一.ubuntu 16.04 下安装完后发现 flash无法播放没有安装flash插件因为 Adobe Flash 不再支持 linux Google 便开发了PepperFlashPlayer来替代 ...

  5. ElasticSearch中设置排序Java

    有用的链接:http://stackoverflow.com/questions/12215380/sorting-on-several-fields-in-elasticsearch 有的时候,需要 ...

  6. 2017.7.18 linux下用户、组和文件的操作

    参考来自:<鸟叔的linux私房菜(基础学习篇)-第14章> 0 目的 在linux下搭建ELK环境时,因为elasticsearch不能在root下操作,所以要为其新增一个用户,以及随之 ...

  7. JAVA Eclipse如何重命名包

    选中某个包之后按F2即可   注意,重命名包不能有大写,而且必须有至少两级(xxx.xxx就是两级)   重命名包之后,你要修改manifest.xml文件  

  8. SQL Server 2008 导入MDF数据库文件

    1.将.MDF和.LDF文件拷到SQL Server2008数据目录,如:\\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\ ...

  9. Android学习(十) SQLite 基于内置函数的操作方式

    main.xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns ...

  10. 算法练习--ABCD*E=DCBA

    //1.ABCD * E = DBCA//2.A,B,C,D {0-9} , E {1-9}//3.A,B,C,D,E all different var existSameN = function ...