关于mysql初始化以及安全策略无法修改的问题

通过mysql官方的yum源来安装的mysql-community-server ,这里版本是MySQL 8.0。

wget 

rpm -ivh  mysql80-community-release-el7-1.noarch.rpm

yum install mysql-community-server

service 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 requirements

mysql> 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%";

妮玛,怎么下划线变成“.”了???

好吧现在可以根据需要修改安全策略了:

set global validate_password.policy = 0;

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

原文地址:https://www.cnblogs.com/yhqvod/p/8930980.html

时间: 2024-09-09 05:18:49

关于mysql初始化以及安全策略无法修改的问题的相关文章

mysql初始化命令及其他命令

这个问题纠结了我两年: 为了配置my.cnf中 undo的 参数生效,以及生成undo文件,使用一下命令 /usr/bin/mysql_install_db   --defaults-file=/etc/my.cnf --datadir=/dbfiles/data --basedir=/dbfiles/ 耗时的原因是,不看帮助,只知道百度 mysql 初始化完后,修改 root密码: ALTER USER 'root'@'localhost' IDENTIFIED BY '11111'; 忘记密

mysql 初始化修改密码问题(Mac系统)

今天公司大牛帮我搞定了mysql初始化密码问题,纪录一下: ~ ps aux | grep mysqlMetro 7149 0.0 0.0 2432772 564 s000 R+ 7:16下午 0:00.00 grep --color=auto --exclude-dir=.bzr --exclude-dir=CVS --exclude-dir=.git --exclude-dir=.hg --exclude-dir=.svn mysql_mysql 6942 0.0 5.4 3087448 4

MYSQL 查看最大连接数和修改最大连接数

MySQL查看最大连接数和修改最大连接数 1.查看最大连接数show variables like '%max_connections%';2.修改最大连接数set GLOBAL max_connections = 200; 以下的文章主要是向大家介绍的是MySQL最大连接数的修改,我们大家都知道MySQL最大连接数的默认值是100, 这个数值对于并发连接很多的数据库的应用是远不够用的,当连接请求大于默认连接数后,就会出现无法连接数据库的错误,因此我们需要把它适当调大一些.在使 用MySQL数据

MySQL初始化工作

MySQL初始化 2019-08-20  08:25:47 1.服务端初始化及开启 MySQL安装以及配置环境变量之后,首次开启需要进行初始化. 打开操作终端cmd并输入初始化命令: mysqld --initilize-insecure 初始化完成后,开启服务端程序: mysqld 2.MySQL用户管理: 2.1 用户管理 需要在客户端中进行,系统默认账户root拥有最高权限,可进行以下的所有操作, 重新打开一个终端,登录root账户 mysql -u root -p 无密码,直接回车进入客

MySQL登陆关闭、密码修改破解

################################################################################## 启动关闭和登陆 ################################################################################## 1单实例 mysqld_safe --user=mysql &  #启动服务 mysqladmin -uroot -pwsyht shutdown  #

mysql数据库导入导出及修改数据库名命令

概述 mysql 数据库导入导出,有两种方式 1)先导出SQL脚本,再导入(导入导出又分两种:1. 命令. 2. 工具.这里我们只介绍命令). 2)直接拷贝数据库文件(此方法不推荐). 一.mysql数据库导入 1.  已有数据库,可以直接用mysql命令 命令格式 mysql -u用户名 -p密码 数据库名 <  sql文件路径 示例:mysql -uroot -p12345678  test <  /root/test.sql 2.  创建新数据导入 mysql -uroot -p1234

php+mysql实现简单登录注册修改密码网页

本文为php+mysql实现简单登录注册修改密码网页,原文网址:http://www.jb51.net/article/98673.htm,感谢写此代码的人,亲测有效.感谢感谢 对于php和mysql的连接在许多blog上都有说明,为了将mysql中的查询,修改,插入等操作掌握,本文介绍了一下如何采用mysql做一个登录注册修改密码的网页. 其中,如下 1.登录-即为对数据库中的内容给予查询,并验证html中的信息与数据库是否匹配:2.注册-即为对数据库中的内容进行插入,注册帐号与密码:3.修改

mysql 5.7 root密码修改

MySQL管理者密码设置或修改: 依据官方说明5.6以后版本,第一次启动时会在root目录下生产一个随机密码,文件名.mysql_secret. [[email protected] ~]# cat /root/.mysql_secret # Password set for user '[email protected]' at 2015-03-27 23:12:10 :Jj+FTiqvyrF [[email protected] ~]# cd /usr/local/mysql/bin/ [[

CvMat的初始化,读取和修改

程序: 代码: #include "cv.h" #include "cxcore.h" #include "highgui.h" #include <iostream> float MatSum(CvMat* mat) //读取CvMat的恰当方法 { float sum=0; for(int rows=0;rows<mat->rows;rows++) { const float* data=(const float*)(