跳过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 服务。

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

相关推荐
陈卿诺语2 天前
MySQL错误-this is incompatible with sql_mode=only_full_group_by完美解决方案
sql·mysql·adb
2501_915921432 天前
抓包鹰 Traceeagle 解除证书绑定,SSL Pinning 解除
网络·网络协议·网络安全·ios·adb·https·ssl
Zhu7584 天前
使用helm在k8s集群部署MySQL单实例,支持当前所有主版本的最新子版本
mysql·adb·kubernetes
小乌龟打怪升级5 天前
adb 详解
adb
雨声不在5 天前
USB 网络共享 + adb 无权限问题排查
adb
王琦03186 天前
第二章 MySQL集群高可用架构
mysql·adb·架构
深念Y6 天前
hotspot-adb-research
linux·数据库·adb·emmc·随身wifi·移动终端
小Ti客栈7 天前
MySQL查询原理:从Server到InnoDB
android·mysql·adb
深念Y7 天前
老Flyme 官方 root 开启 ADB TCP 方案
linux·数据库·网络协议·tcp/ip·adb·智能手机·emmc
00后程序员张8 天前
抓包鹰 电脑本机网络连接表怎么看?哪些程序在联网 进程归属与可疑 IP 追溯
网络协议·计算机网络·网络安全·ios·adb·https·udp