mysql5.7版本引入了强制更改密码的举措,只能吐槽一句,shit!mysql5.7安装
安装完mysql之后,mysql已经随机指定了一个初始化密码,可以在mysql的错误日志中找到初始化密码:

cat /var/log/mysqld.log  | grep password
2018-07-05T05:02:46.258821Z 0 [ERROR] unknown variable 'validate_password_policy=0'
2018-07-05T05:05:04.538912Z 1 [Note] A temporary password is generated for root@localhost: 9kkYpe)x>>2V
2018-07-05T05:05:09.218798Z 2 [Note] Access denied for user 'UNKNOWN_MYSQL_USER'@'localhost' (using password: NO)

根据临时密码进入mysql的交互界面,进行任何操作都会报如下错误提示:

mysql> show databases;
ERROR (HY000): You must reset your password using ALTER USER statement before executing this statement. 进入之后随便执行一条语句,会发现系统提示你必须使用alter user语句更改密码,(oracle为了数据库的安全真是操碎了心)
在试了n次密码之后,仍然报如下错误
ERROR (HY000): Your password does not satisfy the current policy requirements
命运多舛,时运不济啊!
mysql> alter user "root"@"localhost" identified by "123qwE#!"; #密码含有 数字,大写字母,小写字母,特殊字符
Query OK, rows affected (0.01 sec) mysql>

但有时候我们临时测试的时候不需要这么复杂的密码,这时候可以看如下设置。

若想快速的使用mysql 简单的 密码请按如下设置,直接在交互行执行:
mysql> set global validate_password_policy=;
Query OK, rows affected (0.00 sec) mysql> set global validate_password_length=;
Query OK, rows affected (0.00 sec) mysql> set password=password("");
Query OK, rows affected, warning (0.01 sec) 这样就可以正常使用账户和密码了。

详解了解一下这几个参数

查看控制密码设置的几个参数
mysql> show variables like "validate_password%";
+--------------------------------------+-------+
| Variable_name | Value |
+--------------------------------------+-------+
| validate_password_check_user_name | OFF |
| validate_password_dictionary_file | |
| validate_password_length | |
| validate_password_mixed_case_count | |
| validate_password_number_count | |
| validate_password_policy | LOW |
| validate_password_special_char_count | |
+--------------------------------------+-------+
rows in set (0.01 sec) 密码安全策略:validate_password_policy
策略 检查规则
or LOW Length
or MEDIUM Length; numeric, lowercase/uppercase, and special characters
or STRONG Length; numeric, lowercase/uppercase, and special characters; dictionary file validate_password_dictionary_file: 密码策略文件,需要安全策略参数为strong或2.
validate_password_length: 密码长度, 默认是8
validate_password_mixed_case_count: 密码中大小写字母数量至少为1
validate_password_number_count: 密码中数字的数量至少为1
validate_password_special_char_count: 密码中特殊字符的个数至少为1
validate_password_check_user_nam: 检查用户名 修改策略的时候,可以直接用set global varname参数修改。

需要注意的是:

但是若在错误日志中找不到初始化密码,就得不走寻常路了使用skip-grant-tables参数。
只说明方法,不会具体操作:
在配置文件中加入skip-grant-tables参数,然后重新启动mysql服务,这时候不需要密码即可进入交互界面。
然后 执行 update mysql.user set authentication_string=password('123456') where user='root';(需要注意的是:mysql57版本中user表的password字段已经更新为authentication_string字段。)语句更改root用户密码,其余的set语句好像不能执行。

更改成功之后,注释掉配置文件中的skip-grant-tables参数,重新启动mysql,然后就可以使用密码进入交互界面。

mysql5.7密码设置的更多相关文章

  1. day 7-11 初识MySQL数据库及安装密码设置破解

    一. 什么是数据库 之前所学,数据要永久保存,比如用户注册的用户信息,都是保存于文件中,而文件只能存在于某一台机器上. 如果我们不考虑从文件中读取数据的效率问题,并且假设我们的程序所有的组件都运行在一 ...

  2. {MySQL数据库初识}一 数据库概述 二 MySQL介绍 三 MySQL的下载安装、简单应用及目录介绍 四 root用户密码设置及忘记密码的解决方案 五 修改字符集编码 六 初识sql语句

    MySQL数据库初识 MySQL数据库 本节目录 一 数据库概述 二 MySQL介绍 三 MySQL的下载安装.简单应用及目录介绍 四 root用户密码设置及忘记密码的解决方案 五 修改字符集编码 六 ...

  3. mysql5.7密码登录的那些坑

    mysql5.7密码策略及修改技巧 繁著 关注 2017.08.18 22:41* 字数 522 阅读 10184评论 0喜欢 4 mysql升级5.7版本以后,安全性大幅度上升. MySQL5.7为 ...

  4. redis密码设置、访问权限控制等安全设置

    redis作为一个高速数据库,在互联网上,必须有对应的安全机制来进行保护,方法有2,如下. 1.比较安全的办法是采用绑定IP的方式来进行控制.  请在redis.conf文件找到如下配置 # If y ...

  5. GRUB密码设置

    通过编辑GRUB启动参数可以轻松的进入单用户模式从而修改root密码,GRUB的密码设置可分为全局密码和菜单密码. 一,全局密码设置     在splashimage这个参数的下一行可以加上passw ...

  6. Linux - root初始密码设置

    Ubuntu刚安装后,不能在terminal中运行su命令,因为root没有默认密码,需要手动设定. 以安装ubuntu时输入的用户名登陆,该用户在admin组中,有权限给root设定密码. 给roo ...

  7. xampp默认mysql密码设置,修改mysql的默认空密码

    xampp默认mysql密码设置,修改mysql的默认空密码 分类: xampp2012-09-12 11:24 30264人阅读 评论(5) 收藏 举报 mysqlphpmyadminauthent ...

  8. (转)mysql账号权限密码设置方法

    原文:http://www.greensoftcode.net/techntxt/2013410134247568042483 mysql账号权限密码设置方法 我的mysql安装在c:\mysql 一 ...

  9. mac下mysql5.6字符集设置

    http://geeksblog.cc/2016/05/28/mac-mysql-unicode/   mac下mysql5.6字符集设置: 在mac下设置mysql5.6字符集时踩过的坑,百分百保证 ...

随机推荐

  1. SVN Hook造成SVN提交速度慢的问题

    单就个人感情来说,我其实喜欢git.但显然subversion才是更普遍的版本控制管理工具,适合用在团队开发中. 那么,有一个很常见的需求就是把工程师提交的代码,更新到htdocs目录,这时候需要用s ...

  2. Asp.net MVC]Asp.net MVC5系列——实现编辑、删除与明细信息视图

    目录 概述 实现信息的明细视图 实现信息的编辑视图 实现信息的删除视图 总结 系列文章 [Asp.net MVC]Asp.net MVC5系列——第一个项目 [Asp.net MVC]Asp.net ...

  3. iptables、防火墙配置、NAT端口映射

    一,配置一个filter表放火墙 (1)查看本机关于IPTABLES的设置情况 [root@tp ~]# iptables -L -n Chain INPUT (policy ACCEPT) targ ...

  4. numpy的文件存储,读取 .npy .npz 文件

    Numpy能够读写磁盘上的文本数据或二进制数据. 将数组以二进制格式保存到磁盘 np.load和np.save是读写磁盘数组数据的两个主要函数,默认情况下,数组是以未压缩的原始二进制格式保存在扩展名为 ...

  5. Solr学习笔记之4、Solr配置文件简介

    Solr学习笔记之4.Solr配置文件简介 摘自<Solr in Action>. 1. solr.xml – Defines one or more cores per Solr ser ...

  6. 【紫书】Quadtrees UVA - 297 四叉树涂色

    题意:前序遍历给出两个像素方块.求两个方块叠加后有几个黑色格子. 题解:每次读进来一个方块,就在二维数组上涂色.每次把白色涂黑就cnt++: 具体递归方法是以右上角坐标与边长为参数,每次通过几何规律往 ...

  7. 如何快速创建提交一个项目到Github

    1.https://github.com创建一个repository 2.本地创建一个文件夹A 3.命令行转到新文件夹A,执行git init使其能被git管理,并生成.git隐藏文件 4.如内容,应 ...

  8. CSV文件插入到mysql表中指定列

    参考资料: -CSV文件插入到mysql表中指定列

  9. Python装饰器与面向切面编程(转)

    add by zhj: 装饰器的作用是将代码中可以独立的功能独立出来,实现代码复用,下面那个用于统计函数运行时间的装饰器就是很好的例子,我们不用修改原有的函数和调用原有函数的地方,这遵循了开闭原则.装 ...

  10. webpack笔记二——entry

    entry是输入目录文件,有三种形式 1.对象键值对形式 entry: { main: './src/script/main.js', b: './src/script/b.js' }, 注意的是输出 ...