当前位置: 首页 > news >正文

MySQL密码修改的全部方式一篇详解

        本文将详细介绍多种修改MySQL密码的方式。

本文目录

    • 一、alter user 语句
      • 操作步骤
    • 二、set password
      • 操作步骤
    • 三、直接修改 mysql.user表
      • 操作步骤

一、alter user 语句

当你以 root 用户或者拥有足够权限的用户登录 MySQL 时,可以使用 ALTER USER 语句来修改密码。这种方式适用于 MySQL 5.7 及以上版本,简单直接,且符合 MySQL 的标准操作规范。

操作步骤

  1. 首先,使用以下命令登录 MySQL:
mysql -u root -p

输入密码后成功登录到 MySQL 命令行界面。

  1. 接着,使用 ALTER USER 语句修改密码。假设要将用户 myuser 的密码修改为 myuser,可以执行以下 SQL 语句:
ALTER USER 'myuser'@'localhost' IDENTIFIED BY 'myuser';

这里的 'myuser'@'localhost' 表示要修改的是本地登录的 myuser 用户的密码。如果用户可以从任何主机登录,可以使用 'myuser'@'%'

  1. 修改完成后,为了让新密码立即生效,需要刷新权限:
FLUSH PRIVILEGES;



二、set password

SET PASSWORD 语句同样适用于在 MySQL 命令行中修改密码。它在 MySQL 各个版本中都能使用,如果习惯使用 SQL 语句进行操作,这是一个不错的选择。

操作步骤

  1. 同样先登录到 MySQL 命令行:
mysql -u root -p
  1. 然后使用 SET PASSWORD 语句修改密码。如果要修改当前登录用户的密码,可以执行以下语句:
SET PASSWORD = PASSWORD('12345678');

如果要修改其他用户的密码,例如 testuser 的密码,可以执行:

SET PASSWORD FOR 'testuser'@'localhost' = PASSWORD('newpassword');
  1. 最后刷新权限:
FLUSH PRIVILEGES;

对于较新的 MySQL 版本,ALTER USER 语句更为推荐,SET PASSWORD 相对来说不够规范。



三、直接修改 mysql.user表

当忘记了 MySQL 的 root 密码,或者无法通过正常方式登录 MySQL 时,可以使用这种方式。但这种方式操作相对复杂,需要谨慎使用。

操作步骤

  1. 停止 MySQL 服务:
sudo systemctl stop mysql
  1. 以跳过权限检查的方式启动 MySQL:
sudo mysqld_safe --skip-grant-tables &
  1. 登录到 MySQL 命令行:
mysql -u root
  1. 切换到 mysql 数据库:
USE mysql;
  1. 使用 UPDATE 语句修改密码。假设要修改 root 用户的密码,可以执行:
UPDATE user SET authentication_string = PASSWORD('newpassword') WHERE User = 'root';

在 MySQL 5.7 及以上版本中,密码字段为 authentication_string;在早期版本中,可能为 Password

  1. 刷新权限:
FLUSH PRIVILEGES;
  1. 停止 MySQL 服务:
sudo systemctl stop mysql
  1. 以正常方式启动 MySQL 服务:
sudo systemctl start mysql



← 上一篇 Java进阶——常用类及常用方法详解
记得点赞、关注、收藏哦!
下一篇 Java进阶——数组超详细整理 →
http://www.dtcms.com/a/83896.html

相关文章:

  • 使用brower use AI 代理自动控制浏览器完成任务
  •  UNIX网络编程笔记:TCP客户/服务器程序示例
  • 基于springboot的房屋租赁系统(028)
  • 电机控制常见面试问题(十七)
  • JetsonNano —— 4、Windows下对JetsonNano板卡烧录刷机Ubuntu20.04版本(官方教程)
  • 『uniapp』简单文本复制文字 富文本内容复制文字(详细图文注释)
  • GOC按钮点击器
  • 【JavaEE进阶】部署Web项目到Linux服务器
  • cartographer中地图转换
  • VMware虚拟机安装银河麒麟操作系统v10
  • Mininet源码框架概述
  • 深入 C++11:移动语义、Lambda表达式与新特性全面解析
  • 基于linux平台的C语言入门教程(3)代码注释
  • 【计算机网络原理】选择题+简答题
  • AI密码学
  • 基于linux平台的C语言入门教程(8)算术运算符
  • Qt+FFmpeg+SDL2播放进度显示及定位播放
  • Java多线程与高并发专题——Future 是什么?
  • MySQL 事务(Transaction)详解
  • 扣子平台知识库不能上传成功
  • 单表达式倒计时工具:datetime的极度优雅(DeepSeek)
  • python+ffmpeg给音频添加背景音乐
  • SpringBoot项目实战(初级)
  • OpenLayers集成天地图服务开发指南
  • RestTemplate和RPC区别
  • 布谷一对一视频直播平台开发搭建全解析:架构设计与核心技术实现
  • Python Bug修复案例分析:Python 中常见的 IndentationError 错误 bug 的修复
  • 《Gradio Python 客户端入门》
  • 存储过程触发器习题整理1
  • VRRP配置双出口ipsec隧道建立。