我的编程空间,编程开发者的网络收藏夹
学习永远不晚

MySQL修改密码的几种方式

短信预约 信息系统项目管理师 报名、考试、查分时间动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

MySQL修改密码的几种方式

前言:

在日常使用数据库的过程中,难免会遇到需要修改账号密码的情景,比如密码太简单需要修改、密码过期需要修改、忘记密码需要修改等。本篇文章将会介绍需要修改密码的场景及修改密码的几种方式。

1.忘记 root 密码

忘记 root 密码的场景还是比较常见的,特别是自己搭的测试环境经过好久没用过时,很容易记不得当时设置的密码。这个时候一般常用的方法是跳过权限验证,然后更改 root 密码,之后再启用权限验证。以 MySQL 5.7 版本为例简单讲下主要过程:

首先修改配置文件,在[mysqld]部分加上一句:skip-grant-tables ,加上此参数的目的是跳过权限验证。然后重启数据库,数据库再次启动后,我们就可以不用密码直接登录数据库修改密码了。


# skip-grant-tables 模式下修改root密码 
[root@host ~]# mysql 
Welcome to the MySQL monitor.  Commands end with ; or \g. 
Your MySQL connection id is 16 
Server version: 5.7.23-log MySQL Community Server (GPL) 
 
Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved. 
 
Oracle is a registered trademark of Oracle Corporation and/or its 
affiliates. Other names may be trademarks of their respective 
owners. 
 
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. 
 
mysql> update mysql.user set authentication_string = password ('xxxxxx') where user = 'root' and host = 'localhost'; 
Query OK, 0 rows affected, 1 warning (0.00 sec) 
Rows matched: 1  Changed: 0  Warnings: 1 
 
mysql> flush privileges; 
Query OK, 0 rows affected (0.01 sec) 

修改完 root 密码后,再次去除 skip-grant-tables 参数,然后重启下数据库即可。

2.几种修改密码的方法

除去忘记密码,可能还有其他情景需要修改密码,这时候就可以采取普通方式修改密码了。还是以 MySQL 5.7 版本为例,介绍几种常用的修改密码的方法。

使用 alter user 修改

比如如果想更改 testuser 账号的密码,我们可以使用 root 账号登录,然后执行 alter user 命令更改 testuser 账号的密码。


mysql> alter user 'testuser'@'%' identified by 'Password1'; 
Query OK, 0 rows affected (0.01 sec) 
 
mysql> flush privileges; 
Query OK, 0 rows affected (0.00 sec) 

使用 SET PASSWORD 命令

使用 SET PASSWORD 修改密码命令格式为 SET PASSWORD FOR 'username'@'host' = PASSWORD('newpass'); 同样是使用 root 账号可修改其他账号的密码。


mysql> SET PASSWORD FOR 'testuser'@'%' = PASSWORD('Password2'); 
Query OK, 0 rows affected, 1 warning (0.00 sec) 
 
mysql> flush privileges; 
Query OK, 0 rows affected (0.00 sec) 

使用 mysqladmin 修改密码

使用 mysqladmin 命令修改账号密码格式为 mysqladmin -u用户名 -p旧密码 password 新密码


[root@host ~]# mysqladmin -utestuser -pPassword2 password Password3 
mysqladmin: [Warning] Using a password on the command line interface can be insecure. 
Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety. 
[root@host ~]# mysql -utestuser -pPassword3 
mysql: [Warning] Using a password on the command line interface can be insecure. 
Welcome to the MySQL monitor.  Commands end with ; or \g. 
Your MySQL connection id is 2388 
Server version: 5.7.23-log MySQL Community Server (GPL) 
 
Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved. 
 
Oracle is a registered trademark of Oracle Corporation and/or its 
affiliates. Other names may be trademarks of their respective 
owners. 
 
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. 
 
mysql>  

直接 update user 表

其实 MySQL 所以的账号信息都存储在 mysql.user 表里面,我们也可以直接通过 update user 表来修改密码。


# 5.7及之后版本 
mysql> update mysql.user set authentication_string = password ('Password4') where user = 'testuser' and host = '%'; 
Query OK, 1 row affected, 1 warning (0.06 sec) 
Rows matched: 1  Changed: 1  Warnings: 1 
 
mysql> flush privileges; 
Query OK, 0 rows affected (0.01 sec) 
 
# 5.6及之前版本 
update mysql.user set password=password('新密码') where user='用户名' and host='host';  

3.设置 login-path 本地快捷登陆

为了防止密码暴露及忘记密码,我们还可以设置 login-path 来实现在本地不输密码快捷登录。

login-path 是 MySQL 5.6 开始支持的新特性。通过借助 mysql_config_editor 工具将登陆 MySQL 服务的认证信息加密保存在 .mylogin.cnf 文件(默认位于用户主目录)。MySQL 客户端工具可通过读取该加密文件连接 MySQL ,实现快捷登录。

假设我们想配置 root 账号在本地快捷登录,可以这么做:


# 执行回车后需要输入一次root密码 
[root@host ~]# mysql_config_editor set --login-path=root -uroot  -hlocalhost -p -P3306  
Enter password:  
 
# 配置完成后可以使用login-path登录 
[root@host ~]# mysql --login-path=root 
Welcome to the MySQL monitor.  Commands end with ; or \g. 
Your MySQL connection id is 2919 
Server version: 5.7.23-log MySQL Community Server (GPL) 
 
Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved. 
 
Oracle is a registered trademark of Oracle Corporation and/or its 
affiliates. Other names may be trademarks of their respective 
owners. 
 
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. 
 
mysql>  

总结:

本篇文章主要介绍了修改数据库账号密码的几种方法,基本涵盖了所有的场景。这里也提醒下各位,数据库账号最好限制ip段登录,密码尽量复杂些,最好能够定期修改,特别是重要的环境不能有半点马虎。年底了,安全才是王道。

以上就是MySQL修改密码的几种方式的详细内容,更多关于MySQL修改密码的资料请关注自学编程网其它相关文章!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

MySQL修改密码的几种方式

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

MySQL修改密码的几种方式

前言:在日常使用数据库的过程中,难免会遇到需要修改账号密码的情景,比如密码太简单需要修改、密码过期需要修改、忘记密码需要修改等。本篇文章将会介绍需要修改密码的场景及修改密码的几种方式。 1.忘记 root 密码忘记 root 密码的场景还是
2022-05-24

MySQL的加密解密的几种方式(小结)

写在前面之前遇到一个问题,就是MySQL的信息如何加密。其实加密的思路有两种,一种是在数据库外部加密后存入数据库,第二种是在数据库内部对数据进行加密。这两种的区别就是第二种比第一种在使用上要更加方便,因为在外部加密的话每一次的查找如果是按照
2022-05-28

mysql-8.0.15-winx64安装与修改密码方式

目录第一步:下载第二步:安装第三步:启动mysql补充总结第一步:下载移步官网:https://www.mysql.com/downloads/ 下载一个压缩包(个人版)第二步:安装解压安装包,根据自己的喜好选择路径将安装包的bin目录
mysql-8.0.15-winx64安装与修改密码方式
2024-10-21

MySQL修改root密码的多种方法,你掌握了吗

前言 我们在工作中都会用到mysql数据库,也是最熟悉用的最多的,无论是在本地安装mysql还是在Linux安装mysql,都需要给数据库配置用户名和密码,时间一长我们就会忘记配置数据库的密码,那么这个时候我们会想到修改密码,下面就来给大家
2023-08-19

快速修改mysql密码的四种方法示例详解

目录快速修改mysql密码的四种方法方法1: 用SET PASSWORD命令 方法2:用mysqladmin 方法3:用UPDATE直接编辑user表 方法4:在忘记root密码的时候,可以这样 PS:MySQL修改root用户密码使用my
2023-01-06

Linux通过Shell脚本命令修改密码的两种方式

交互方式修改密码 1. ssh 远程到主机; 2. 切换到root账号; [一般都是切换到root进行密码修改,如果普通用户修改自己的密码,要输入原密码,然后新密码要满足复杂度才OK]; 3. passwd username 使用passw
2022-06-04

编程热搜

目录