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

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

发布时间:2022-10-15 15:46:18 所属栏目:MySql教程 来源:
导读:  方法一:alter 命令修改

  先登录数据库mysql -uroot -p

  先用初始密码登录进去

  进入数据库命令行执行:

  --这里把数据库登录密码改为111111
  alter user 'root'@'
  方法一: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 整个密码中至少要包含特殊字符的个数
 

(编辑:航空爱好网)

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