跳过mysql8.0密码重置密码 Shell脚本

要在 MySQL 8.0 中通过 Shell 脚本跳过密码验证以重置密码,你可以遵循以下步骤:首先,确保你有足够的权限来编辑配置文件和重启 MySQL 服务。下面是一个简单的 Shell 脚本示例,该脚本展示了如何跳过密码验证以重置 MySQL 8.0 的 root 用户密码:

复制代码
#!/bin/bash

# 停止 MySQL 服务
sudo systemctl stop mysqld

# 跳过密码验证启动 MySQL
sudo mysqld_safe --skip-grant-tables &

# 等待 MySQL 服务启动
sleep 5

# 登录 MySQL,不需要密码
mysql -u root <<EOF
USE mysql;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'your_new_password';
FLUSH PRIVILEGES;
exit;
EOF

# 停止 mysqld_safe 进程
sudo killall mysqld_safe

# 等待 MySQL 服务停止
sleep 2

# 启动 MySQL 服务
sudo systemctl start mysqld

# 输出成功信息
echo "MySQL root password has been reset successfully!"

在这个脚本中,请将 'your_new_password' 替换为你想要设置的新密码。脚本执行以下操作:

停止 MySQL 服务。

使用 mysqld_safe 启动 MySQL,并跳过权限检查。

使用 sleep 命令等待 MySQL 服务启动。

通过重定向输入的方式登录 MySQL,并执行 SQL 命令来更改 root 用户的密码。

停止 mysqld_safe 进程。

使用 sleep 命令等待 MySQL 服务停止。

重启 MySQL 服务。

输出成功信息。

要运行这个脚本,请将其保存到一个文件中,例如 reset_mysql_password.sh,然后在终端中运行以下命令来执行脚本:

复制代码
chmod +x reset_mysql_password.sh
./reset_mysql_password.sh

请确保你具有执行这个脚本的权限,并且你的用户账户有权限停止和启动 MySQL 服务。

注意:在生产环境中,跳过密码验证来重置密码是一个敏感的操作,因为它会暂时暴露你的数据库不受密码保护。确保在执行此操作之前备份所有重要数据,并在操作完成后尽快恢复正常的权限检查。

相关推荐
misty youth12 小时前
Navicat与PHPstudy小皮
mysql·adb·php·navicat
for_ever_love__1 天前
MySQL 8.0 数据类型选型指南:INT、DECIMAL、VARCHAR 与时间字段怎么选
mysql·adb·数据类型·varchar·长度·字段类型选择
yeflx3 天前
Ubuntu22.04安装Mysql Workbench
数据库·mysql·adb
夜雪一千3 天前
MySQL 自增 ID 的底层原理与坑点
android·mysql·adb
Dxy12393102163 天前
MySQL JSON 生成列索引原理、实战与坑点
mysql·adb·json
远方 hi3 天前
MySQL 管理
adb
夜雪一千4 天前
MySQL 删除 JSON 类型的数据实战
mysql·adb·json
千码君20166 天前
个人开发者:安卓手机adb调试
android·adb·智能手机
夜雪一千7 天前
MySQL 如何存储经纬度坐标:选型、建表、空间查询实战
android·mysql·adb