关于mysql初始化以及安全策略无法修改的问题
通过mysql官方的yum源来安装的mysql-community-server ,这里版本是MySQL 8.0。
wget rpm -ivh mysql80-community-release-el7-1.noarch.rpmyum install mysql-community-serverservice mysqld start第一次启动后会有个初始化的过程,会产生root账户的随机密码。
为了加强安全性,MySQL5.7为root用户随机生成了一个密码,在error_log中,关于error_log的位置,如果安装的是RPM包,则默认是 /var/log/mysqld.log 。
可以通过 grep 'temporary password' /var/log/mysqld.log 查找密码:

登陆上过后,进行正常操作会受限,提示你必须修改密码后才能进行操作。
mysql> show databases;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.根据提示修改密码:
mysql> SET PASSWORD = PASSWORD('123456'); ERROR 1819 (HY000): Your password does not satisfy the current policy requirementsmysql> SET PASSWORD = PASSWORD("root");ERROR 1819 (HY000): Your password does not satisfy the current policy requirements但是提示根据当前密码策略,设置的密码不允许。
查阅官方文档后发现有以下三种密码策略:
| Policy | Tests Performed |
0 or LOW |
Length |
1 or MEDIUM |
Length; numeric, lowercase/uppercase, and special characters |
2 or STRONG |
Length; numeric, lowercase/uppercase, and special characters; dictionary file |
当前密码策略默认为1 也就是 MEDIUM,但是当你使用:show VARIABLES like "%password%"; 来查看当前策略时,发现还是会让你先修改密码(这个比较坑)
接下来修改安全策略(跟进实际环境需要,生产环境简单密码可能不安全):
set global validate_password_policy = 0;
以上这条语句是所有人都这么用,好像没什么毛病,但是到我这儿就不好使啊/cry

比较郁闷
Google、百度了好久也没结果。咋整?
有了 , 管它呢,先改密码,设置一个包含大小写字母、数字和特殊符号的密码,OK,搞定,然后再来查看安全策略:
show VARIABLES like "%password%";

妮玛,怎么下划线变成“.”了???
好吧现在可以根据需要修改安全策略了:
validate_password_number_count指定了密码中数据的长度,
validate_password_special_char_count指定了密码中特殊字符的长度,
validate_password_mixed_case_count指定了密码中大小字母的长度。
官方的一些说明:https://dev.mysql.com/doc/refman/8.0/en/validate-password.html
关于mysql初始化以及安全策略无法修改的问题的更多相关文章
- mysql初始化命令及其他命令
这个问题纠结了我两年: 为了配置my.cnf中 undo的 参数生效,以及生成undo文件,使用一下命令 /usr/bin/mysql_install_db --defaults-file=/et ...
- mysql 初始化修改密码问题(Mac系统)
今天公司大牛帮我搞定了mysql初始化密码问题,纪录一下: ~ ps aux | grep mysqlMetro 7149 0.0 0.0 2432772 564 s000 R+ 7:16下午 0:0 ...
- MYSQL 查看最大连接数和修改最大连接数
MySQL查看最大连接数和修改最大连接数 1.查看最大连接数show variables like '%max_connections%';2.修改最大连接数set GLOBAL max_connec ...
- MySQL数据库字符集由utf8修改为utf8mb4一例
对于mysql 5.5 而言,如果不设定字符集,mysql默认的字符集是 latin1 拉丁文字符集: 为了统一管理和应用开发的方便,一般都会统一将操作系统,客户端,数据库各方面的字符集都设置为 ut ...
- 【数据库】5.0 MySQL入门学习(五)——MySQL源码了解及MySQL初始化设置
1.0 MySQL源码目录主要包括:客户端代码.服务端代码.测试工具.其他库文件.当然,看懂源代码得有一定的C语言基础. BUILD:各种平台的编译脚本,可以用来制作各平台的二进制版本 client: ...
- Navicat Premium连接MySQL 1251错误和Mysql初始化root密码和允许远程访问
Mysql初始化root密码和允许远程访问 在我们使用mysql数据库时,有时我们的程序与数据库不在同一机器上,这时我们需要远程访问数据库.缺省状态下,mysql的用户是没有远程访问的权限. 下面介绍 ...
- MySQL初次安装配置及修改密码
安装前的准备工作: 下载完后,我们将 zip 包解压到相应的目录,这里我将解压后的文件夹放在 C:\mysql-8.0.11 下. 接下来我们需要配置下 MySQL 的配置文件 打开刚刚解压的文件夹 ...
- mysql 同时支持多少连接MYSQL 查看最大连接数和修改最大连接数
MySQL查看最大连接数和修改最大连接数 1.查看最大连接数 show variables like '%max_connections%'; 2.修改最大连接数 set GLOBAL max_con ...
- MySQL数据库数据存放位置修改
MySQL数据库数据存放位置修改 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品.MySQL 最流行的关系型数据库管理系统,在 WEB 应用方 ...
随机推荐
- python小练习之三---购物车程序
购物车购物的例子 严格来讲,这个例子相对大一些 功能也稍完备一些,具有用户登录,商品上架,用户购物,放入购物车,展示每个用户的购物车里的商品的数量,用户账户余额,支持用户账户充值等 下面展示的代码有些 ...
- Python内置函数(25)——frozenset
英文文档: class frozenset([iterable]) Return a new frozenset object, optionally with elements taken from ...
- Nginx+Tomcat高性能负载均衡集群搭建
转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/8745794.html Nginx是一个高性能的HTTP服务器/反向代理服务器及电子邮件(IMAP/POP3) ...
- cannot import name 'ChineseAnalyzer'
在python3.6下安装jieba3k的时候报错: from jieba.analyse import ChineseAnalyzer ImportError: cannot import name ...
- emqtt 试用(四)emq 的主题访问控制 acl.conf
访问控制(ACL) EMQ 消息服务器通过 ACL(Access Control List) 实现 MQTT 客户端访问控制. ACL 访问控制规则定义: 允许(Allow)|拒绝(Deny) 谁(W ...
- Spring Security入门(3-2)Spring Security对接用户的权限系统
源文链接,多谢作者的分享: http://www.360doc.com/content/14/0727/16/18637323_397445724.shtml 1.原生的spring-security ...
- C# 读取网页JSON数据
场景描述: 公司和别的系统需要对接,现在对方提供一个网址,数据都是json字符串,我需要对json数据进行处理. 提供的json数据如下格式 一.读取网址中的json数据 public string ...
- JSON(三)——java中对于JSON格式数据的解析之json-lib与jackson
java中对于JSON格式数据的操作,主要是json格式字符串与JavaBean之间的相互转换.java中能够解析JSON格式数据的框架有很多,比如json-lib,jackson,阿里巴巴的fast ...
- python flask框架 tempates 模版的使用
在py文件同级下 建立templates文件夹,再文件夹中编写html文件 1 向模版中传递参数: ''' 1 向模板传送 参数 ''' @app.route('/') def index(): na ...
- semver(Semantic Versioning)
Based on semver, you can use Hyphen Ranges X.Y.Z - A.B.C 1.2.3-2.3.4 Indicates >=1.2.3 <=2.3.4 ...