修改Mysql 8 的密码

要在 MySQL 8 中修改密码,通常推荐使用 ALTER USER 语句。MySQL 8 在安全性和权限管理上进行了改进,因此推荐使用这个方法。下面是详细步骤:

步骤 1: 使用管理员账户登录 MySQL

首先,使用具有足够权限的管理员账户(通常是 root)登录到 MySQL。你可以通过以下命令进入 MySQL 命令行客户端:

bash 复制代码
mysql -u root -p

然后输入当前的密码。

步骤 2: 修改密码

在 MySQL 8 中,可以使用 ALTER USER 语句来修改密码。例如,要修改 root 用户的密码,使用以下命令:

sql 复制代码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
  • root 是用户名。
  • localhost 是允许访问的主机名,可以是 localhost 或者是 %(表示允许从任何主机登录)。
  • 'new_password' 是你想要设置的新密码。

步骤 3: 刷新权限

执行完 ALTER USER 命令后,为了确保密码修改立即生效,运行以下命令刷新权限:

sql 复制代码
FLUSH PRIVILEGES;

步骤 4: 退出 MySQL

修改密码后,退出 MySQL 命令行:

sql 复制代码
exit;

步骤 5: 使用新密码登录

重新登录 MySQL 时,使用你刚刚设置的新密码:

bash 复制代码
mysql -u root -p

输入你设定的新密码,应该就能成功登录了。

其他常见情况

1. 修改其他用户的密码

如果你需要修改其他用户的密码,只需将用户名和主机名替换为目标用户。例如,修改 user1 用户的密码:

sql 复制代码
ALTER USER 'user1'@'localhost' IDENTIFIED BY 'new_password';
2. 忘记密码

如果你忘记了 MySQL root 用户的密码,可以通过以下步骤进行重置。这里的步骤假设你拥有操作 MySQL 数据目录和系统权限:

2.1 停止 MySQL 服务

首先,停止 MySQL 服务。

  • Windows

    bash 复制代码
    net stop mysql
  • Linux

    bash 复制代码
    sudo systemctl stop mysql
2.2 启动 MySQL 无密码模式

然后,启动 MySQL 并跳过授权表来允许不需要密码登录。

  • Windows

    bash 复制代码
    mysqld --skip-grant-tables
  • Linux

    bash 复制代码
    sudo mysqld_safe --skip-grant-tables &
2.3 登录 MySQL

接下来,使用以下命令登录 MySQL(不需要密码):

bash 复制代码
mysql -u root
2.4 修改密码

登录 MySQL 后,执行以下命令修改 root 用户的密码:

sql 复制代码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
2.5 退出并重启 MySQL

完成密码修改后,退出 MySQL,然后重启 MySQL 服务。

  • Windows

    bash 复制代码
    net start mysql
  • Linux

    bash 复制代码
    sudo systemctl start mysql
2.6 使用新密码登录

现在你应该能够使用新密码登录 MySQL。

bash 复制代码
mysql -u root -p

总结

  • 推荐方法 :使用 ALTER USER 语句修改密码。
  • 其他用户:修改其他用户密码时,只需替换用户名。
  • 忘记密码:通过跳过授权表重置密码。

Windows部署Mysql指南
外网连接参考此文档

相关推荐
IvorySQL13 小时前
PostgreSQL 技术日报 (3月9日)|EXPLAIN ANALYZE 计时优化与复制语法讨论
数据库·postgresql·开源
用户83071968408215 小时前
Java 告别繁琐数据统计代码!MySQL 8 窗口函数真香
java·sql·mysql
stark张宇17 小时前
MySQL 核心内幕:从索引原理、字段选型到日志机制与外键约束,一篇打通数据库任督二脉
数据库·mysql·架构
倔强的石头_17 小时前
融合数据库架构实践:关系型、JSON与全文检索的“一库多能”深度解析
数据库
星辰员19 小时前
KingbaseES数据库:ksql 命令行用户与权限全攻略,从创建到删除
数据库
华仔啊1 天前
千万别给数据库字段加默认值 null!真的会出问题
java·数据库·后端
Hoffer_2 天前
MySQL 强制索引:USE/FORCE INDEX 用法与避坑
后端·mysql
Hoffer_2 天前
MySQL 索引核心操作:CREATE/DROP/SHOW
后端·mysql
随风飘的云2 天前
MySQL的慢查询优化解决思路
数据库
IvorySQL3 天前
PostgreSQL 技术日报 (3月7日)|生态更新与内核性能讨论
数据库·postgresql·开源