MySQL5.7如何修改root密码

MySQL5.7 开始,增加了很多安全性的更新。老版本的用户可能会有一些不习惯,这里介绍关于5.7版本的数据库密码问题。

5.7.6 以后的版本

5.7.6 以后的版本在启动数据库的时候,会生成密码放到日志文件里,像这样:

[root@centos-linux ~]# cat /var/log/mysqld.log | grep 'password'
2016-07-16T03:07:53.587995Z 1 [Note] A temporary password is generated for root@localhost: 2=s6NZk.t:fz

然后使用该密码登陆数据库,但是不能进行任何操作,提示需要先修改密码。

mysql> show databases;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

这里修改密码就会遇到验证,简单的密码会提示不符合规则

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

因为5.7里引入了一个validate_password插件来检验密码强度。

默认值分别如下:

mysql> show variables like 'vali%';
+--------------------------------------+--------+
| Variable_name            | Value |
+--------------------------------------+--------+
| validate_password_dictionary_file  |    |
| validate_password_length       | 8   |
| validate_password_mixed_case_count  | 1   |
| validate_password_number_count    | 1   |
| validate_password_policy       | MEDIUM |
| validate_password_special_char_count | 1   |
+--------------------------------------+--------+
6 rows in set (0.01 sec)

意义如下:

validate_password_length
# 密码的最小长度,默认为8。
validate_password_mixed_case_count
# 至少要包含小写或大写字母的个数,默认为1。
validate_password_number_count
# 至少要包含的数字的个数,默认为1。
validate_password_policy
# 强度等级,可设置为0、1、2。
  【0/LOW】:只检查长度。
  【1/MEDIUM】:在0等级的基础上多检查数字、大小写、特殊字符。
  【2/STRONG】:在1等级的基础上多检查特殊字符字典文件,此处为1。
validate_password_special_char_count
# 至少要包含的特殊字符的个数,默认为1。

所以初始设置密码比如大于8位,包含数字,大小写字母,特殊字符。

同时也可以修改上面这些配置减弱密码强度验证。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Mysql5.7忘记root密码怎么办(简单且有效方法)

    在上篇文章给大家介绍了Mysql5.7忘记root密码及mysql5.7修改root密码的方法 Mysql5.7忘记密码快速且简单的解决方法,具体方法详情如下所示: # 最简单最粗暴的方法 找到mysql的配置文件直接编辑 vim /etc/my.cnf # 在 [mysqld] 中加上一行跳过权限限制 skip-grant-tables # 保存退出 重启mysql服务 service mysqld restart # 用户登录 mysql -uroot -p (直接点击回车,密码为空) #

  • MySql5.7.11编译安装及修改root密码的方法小结

    推荐阅读: Mysql5.7忘记root密码及mysql5.7修改root密码的方法 Mac 安装和卸载 Mysql5.7.11 的方法 系统是cenos6.7 64位的,默认mysql5.7.11下载到/usr/local/src,安装目录在/app/local/mysql目录下,mysql数据放置目录/app/local/data.mysql从5.1后采用cmake方式编译安装,所以要先编译安装cmake工具,也可以采用yum方式安装cmake.从mysql5.7开始编译安装需要boost库

  • Mysql 5.7 忘记root密码或重置密码的详细方法

    在Centos中安装完MySQL数据库以后,不知道密码,这可怎么办,下面给大家说一下怎么重置密码 1.修改配置文件my.cnf 按i编辑 [root@iZ2ze14tbj23jllo85kuh1Z ~]# vim /etc/my.cnf 在[mysqld]中添加 skip-grant-tables 例如: [mysqld] **skip-grant-tables** datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock 键盘 Esc 保存

  • MySQL5.7安装过程并重置root密码的方法(shell 脚本)

    由于 MySQL 5.7 版本的 root 密码是首次启动时随机生成的,并且还要求必须修改后才能使用,所以有了本文:使用 shell 脚本完成安装和设置新的 root 密码. 以官方的 rpm 包安装为例,先下载,使用 yum 命令安装,如果有需要的依赖包会自动安装 wget http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.17-1.el6.x86_64.rpm-bundle.tar tar xf mysql-5.7.17-1.el6

  • Mac下MySQL5.7忘记root密码的解决方法

    mysql5.7忘记root密码的操作步骤: 1. 在系统偏好设置中停止MySQL服务. 2.执行命令以安全模式启动MySQL: cd /usr/local/mysql/bin sudo ./mysqld_safe --skip-grant-tables 3.新打开一个命令行窗口,在MySQL中执行 update mysql.user set authentication_string=PASSWORD('你的密码') where User='root'; FLUSH PRIVILEGES; 注

  • Mysql5.7忘记root密码及mysql5.7修改root密码的方法

    关闭正在运行的 MySQL : [root@www.woai.it ~]# service mysql stop 运行 [root@www.woai.it ~]# mysqld_safe --skip-grant-tables & 为了安全可以这样禁止远程连接: [root@www.woai.it ~]# mysqld_safe --skip-grant-tables --skip-networking & 使用mysql连接server: [root@www.woai.it ~]# my

  • MySQL 5.7忘记root密码后修改的详细教程

    前言 一直以来,MySQL的应用和学习环境都是MySQL 5.6和之前的版本,也没有去关注新版本MySQL 5.7的变化和新特性.今天帮人处理忘记root密码的时时候,发现以前的方法不奏效了. 具体情况如下所示: 案例环境如下: 操作系统 : Red Hat Enterprise Linux Server release 6.6 (Santiago) 数据库版本: 5.7.18 MySQL Community Server (GPL) 忘记密码,输入错误的密码时遇到下面错误信息: [root@m

  • Mysql5.7修改root密码教程

    版本更新,原来user里的password字段已经变更为authentication_string 版本更新 缘故,好多网上的教程都不适用了,甚至连官网的文档也不是能够顺利操作的. 如果 MySQL 正在运行,首先杀之: killall -TERM mysqld. 运行 mysqld_safe --skip-grant-tables & 如果此时不想被远程连接:mysqld_safe --skip-grant-tables --skip-networking & 使用mysql连接serv

  • MAC下Mysql5.7.10版本修改root密码的方法

    首先 跳过权限表模式启动MySQL:mysqld --skip-grant-tables & 从现在开始,你将踏入第一个坑,如果你使用网上到处贴的 错误修改方法: mysql> UPDATE mysql.user SET authentication_string=PASSWORD('your_new_password') WHERE User='root'; (注意,5.7之后password改成了authentication_string)那么恭喜你,你修改成功了,但是你会发现当你使用n

  • MySQL5.7如何修改root密码

    MySQL5.7 开始,增加了很多安全性的更新.老版本的用户可能会有一些不习惯,这里介绍关于5.7版本的数据库密码问题. 5.7.6 以后的版本 5.7.6 以后的版本在启动数据库的时候,会生成密码放到日志文件里,像这样: [root@centos-linux ~]# cat /var/log/mysqld.log | grep 'password' 2016-07-16T03:07:53.587995Z 1 [Note] A temporary password is generated fo

  • Mysql5.6忘记root密码修改root密码的方法

    mysql5.6忘记数据库的root密码: [root@oraserver139 ~]# mysql -uroot -p Enter password: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) 查看当前安装的mysql版本: root@oraserver139 ~]# rpm -qa | grep MySQL MySQL-server-5.6.15-1.el6.x86_6

  • MySQL5.7.20解压版安装和修改root密码的教程

    1. 下载MySQL Archive(解压版) 网址:https://downloads.mysql.com/archives/community/ 2. 解压文件到自定义安装目录: 解压后没有 "data" 文件夹和 "my.ini" 配置文件 3. 解压完后配置环境变量 系统变量: 新建"MYSQL_HOME"值:xxx\mysql-5.7.20-winx64 (自定义安装目录的根路径) 追加Path::%MYSQL_HOME%\bin 4.

  • mysql5.7及mysql 8.0版本修改root密码的方法小结

    mysql5.7版本: 方法1: 用SET PASSWORD命令 格式:mysql> set password for 用户名@localhost = password('新密码'); 例子:mysql> set password for root@localhost = password('123'); mysql5.7和mysql8.0以上都可以用 方法2:用mysqladmin 格式:mysqladmin -u用户名 -p password 新密码 例子:mysqladmin -uroo

  • 安装mysql8.0.11及修改root密码、连接navicat for mysql的思路详解

    1.1. 下载: 官网下载zip包,我下载的是64位的: 下载地址:https://dev.mysql.com/downloads/mysql/ 下载zip的包: 下载后解压:(解压在哪个盘都可以的) 我放在了这里 E:\web\mysql-8.0.11-winx64 ,顺便缩短了文件名,所以为 E:\web\mysql-8.0.11. 1.3. 生成data文件: 以管理员身份运行cmd 程序--输入cmd 找到cmd.exe 右键以管理员身份运行 进入E:\web\mysql-8.0.11\

  • MySQL修改root密码的多种方法(推荐)

    方法1: 用SET PASSWORD命令 MySQL -u root mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass'); 方法2:用mysqladmin mysqladmin -u root password "newpass" 如果root已经设置过密码,采用如下方法 mysqladmin -u root password oldpass "newpass" 方法3: 用UPDA

  • MySQL的root密码忘记怎么办 修改root密码的方式

    如果哪天你忘记了线上MySQL数据库的root密码,怎么办? 大家往往会想到skip-grant-tables参数,具体步骤如下: 1. 关闭MySQL数据库,因为root密码忘记了,mysqladmin无法使用,此时,只能通过kill pid关闭程序. 在这里,科普一下kill 和kill -9的区别 默认参数下,kill 发送SIGTERM信号给进程,告诉进程,你需要被关闭,请自行停止运行并退出. kill -9 发送SIGKILL信号给进程,告诉进程,你被终结了,请立刻退出.与SIGTER

  • MYSQL 修改root密码命令小结

    一.请问在win2K命令提示符下怎样更改mysql的root管理员密码? >mysql -u root -p Enter password: ****** mysql> use mysql; mysql> update user set password=password('new_password') where user='root'; 通过这种方法就可以直接修改密码了.至于在CMD下能否登陆MySQL,就要在Windows环境变量PATH中添加"C:\Program Fi

随机推荐