加入收藏 | 设为首页 | 会员中心 | 我要投稿 武汉站长网 (https://www.027zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

MySQL修改密码和重置密码的6种方法

发布时间:2022-10-17 04:02:03 所属栏目:MySql教程 来源:转载
导读: 方法一:alter 命令修改
先登录数据库mysql -uroot -p
先用初始密码登录进去
进入数据库命令行执行:
--这里把数据库登录密码改为111111
alter user 'root'@'localhost' i

方法一:alter 命令修改

先登录数据库mysql -uroot -p

先用初始密码登录进去

进入数据库命令行执行:

--这里把数据库登录密码改为111111
alter user 'root'@'localhost' identified by '111111'; 
  
--账号和地址不带引号也可以  
alter user root@localhost identified by '88888888' ;   

方法二:SET PASSWORD命令

首先登录MySQL。

格式:mysql> set password for 用户名@localhost = password('新密码');  
例子:mysql> set password for root@localhost = password('123');  

方法三:用UPDATE直接编辑user表

首先登录MySQL。  
 
mysql> use mysql;  
mysql> update user set password=password('123') where user='root' and host='localhost';  
mysql> flush privileges;  

方式四:用mysqladmin

格式:mysqladmin -u用户名 -p旧密码 password 新密码

例子:

//控制台输入
# mysqladmin -uroot -p123456 password 123  

方法五:重置密码(忘记密码) (一)Linux中

(1)先修改配置文件/etc/my.cnf令MySQL跳过登录时的权限检验,在[mysqld]下加入一行:

mysql数据库修改密码_mysql修改密码_Mysql修改密码

skip-grant-tables

(2)重启MySQL

#service mysqld restart

(3)免密码登录MySQL。

#mysql

(4)mysql客户端执行如下命令,修改root密码

mysql>  use mysql;
mysql> UPDATE user SET authentication_string = password('新密码') WHERE host = 'localhost' AND user = 'root';
mysql> select host,user, authentication_string, password_expired from user; 
mysql> update user set password_expired='N' where password_expired='Y' //密码不过期
mysql> update user set host='%' where user='root' and host='localhost'; //远程可访问
mysql> flush privileges; //刷新权限
mysql> exit;//退出

(5)修改配置文件/etc/my.cnf删除此前新增那一行skip-grant-tables,并重启MySQL(这一步非常重要Mysql修改密码,不执行可能导致严重的安全问题)

#service mysqld restart //重启 Mysql

(二)windows 中

这里以window中的mysql5.7为例

1、打开第一个cmd窗口执行 net stop mysql57

2、在第一个cmd窗口执行 mysqld --defaults-file=“C:\ProgramData\MySQL\MySQL Server 5.7\my.ini” --skip-grant-tables —注意路径(以你的实际情况为准)

或者

切换到mysql/bin目录下,cmd输入mysqld --skip-grant-tables 回车。

–skip-grant-tables 的意思是启动MySQL服务的时候跳过权限表认证。

3、打开第二个cmd窗口执行 mysql -uroot -p 提示输入密码,直接回车(不用输入密码)

4、选择数据库:use mysql;

5、更新root的密码:

update user set authentication_string=password('新密码') where user='root' and Host='localhost';

6、刷新权限:

flush privileges;

mysql数据库修改密码_mysql修改密码_Mysql修改密码

7、退出:quit

8、重新登录:mysql -uroot -p 提示输入密码,这时输入密码才能登录。完成!

方法六:

借助第三方工具Navicat修改,方法如下:

1、登录mysql到指定库,如:登录到test库。

在这里插入图片描述

2、然后点击上方“用户”按钮。

在这里插入图片描述

3、选择要更改的用户名,然后点击上方的“编辑用户”按钮。

在这里插入图片描述

4、出现如图界面,输入新密码,并确认新密码,点击“保存”按钮即可。

在这里插入图片描述

【补充】:密码策略问题

mysql 初始化时,使用临时密码,修改自定义密码时,由于自定义密码比较简单,就出现了不符合密码策略的问题

密码策略问题异常信息:

ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

在这里插入图片描述

解决办法:

1、查看 mysql 初始的密码策略,

输入语句 “ SHOW VARIABLES LIKE ‘validate_password%’; ” 进行查看,

2、首先需要设置密码的验证强度等级,设置 validate_password_policy 的全局参数为 LOW 即可,

输入设值语句 “ set global validate_password_policy=LOW; ” 进行设值,

3、当前密码长度为 8 ,如果不介意的话就不用修改了,按照通用的来讲,设置为 6 位的密码,设置 validate_password_length 的全局参数为 6 即可,

输入设值语句 “ set global validate_password_length=6; ” 进行设值,

4、现在可以为 mysql 设置简单密码了,只要满足六位的长度即可,

输入修改语句 “ ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘123456’; ” 可以看到修改成功,表示密码策略修改成功了!!!

关于 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 整个密码中至少要包含特殊字符的个数;

(编辑:武汉站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!