记录下自己关于mysql8.0.17免安装版修改密码的处理方式以及如何关闭以--skip-grant-tables启动的mysql服务

本文详细介绍了如何在MySQL 8.0.17免安装版中修改忘记的密码,包括使用管理员权限启动服务、绕过权限验证及重新设置密码的步骤。特别注意,在关闭以–skip-grant-tables启动的mysql服务时,需要关闭所有相关cmd窗口。

**

记录下自己关于mysql8.0.17免安装版修改密码的处理方式以及如何关闭以–skip-grant-tables启动的mysql服务

**

最近准备去干数据库方面的工作,于是在自学mysql,下午再想如果密码忘了怎么改该怎么办。于是就打算试着更改下密码,结果忙活了一下午。。。搜集各种资料,总算是改好了。

我主要是参照这个人的文章来改:
https://www.cnblogs.com/jerrys/p/10626408.html

利用他的方法是可行的,且简介明了,其中有一个坑我说下,就是第六点

这里的关闭是指将cmd的那两个界面都关掉。。。我下午傻逼了没想到这层一直在疯狂的寻找相关的关闭的命令是怎么样的。。。
还有就是要进行以上操作都需要用管理员权限区操作才行。

PS:侵删

### 关于 MySQL `--skip-grant-tables` 启动失败的解决方案 当尝试通过 `--skip-grant-tables` 参数启动 MySQL 时遇到问题,可能的原因包括配置文件冲突、权限不足或其他环境因素。以下是针对该问题的具体分析和解决方法: #### 1. **确认配置文件设置** 如果在 Windows 下直接编辑 `my.ini` 文件并添加 `skip-grant-tables` 参数,则可能导致 MySQL 无法正常启动[^1]。这是因为某些本的 MySQL 对配置文件解析较为敏感,在特定场景下可能会忽略此参数甚至引发错误。 建议移除 `my.ini` 中的相关条目,并改用命令行方式手动指定参数来启动 MySQL 实例。具体操作如下: ```bash mysqld --skip-grant-tables --console ``` 上述命令中的 `--console` 可选参数用于将日志输出到控制台以便实时查看启动过程中的任何异常信息。 #### 2. **Linux 系统下的服务管理调整** 对于基于 Linux 的操作系统(如 CentOS),可以通过修改 systemd 服务单元文件实现无授权表模式运行 MySQL[^3]。按照以下步骤执行: - 编辑 `/etc/systemd/system/mysqld.service.d/override.conf` 或者直接打开默认的服务定义路径; - 注释掉原有涉及 datadir 路径的部分以防干扰; - 增加新行以显式声明启用跳过验证功能: ```ini ExecStart=/usr/sbin/mysqld --skip-grant-tables ``` 完成更改之后记得刷新守护进程缓存以及重启数据库引擎: ```bash sudo systemctl daemon-reload && sudo systemctl restart mysqld ``` #### 3. **处理潜在的数据目录锁定状况** 有时即使正确设置了 `--skip-grant-tables` ,仍会出现因数据存储区域被占用而阻止程序继续初始化的情况[^4]。此时需确保没有其他实例正在访问目标位置或者存在残留锁文件影响正常使用。 可以尝试停止所有关联进程后再重试: ```bash ps aux | grep mysql kill -9 <PID> rm -rf /var/lib/mysql/*.pid ``` > 注意替换 `<PID>` 为实际获取到的进程编号;另外删除 `.pid` 类型标记前务必谨慎核对以免误删重要资料! #### 4. **检查兼容性和依赖关系** 最后还需留意当前安装包本号是否支持所采用的方法[^5]。部分较老发行可能存在不完全遵循官方文档描述的行为差异,因此升级至最新稳定分支往往能够有效规避此类隐患。 --- ### 示例代码片段 以下是一个简单的脚本用来辅助诊断及修复常见问题: ```bash #!/bin/bash # Step A: Kill existing processes forcefully. echo "Terminating all running instances..." pids=$(pgrep mysqld || echo "") if [[ ! -z "$pids" ]]; then kill -9 $pids fi # Step B: Remove stale PID files safely. echo "Cleaning up leftover PIDs..." find /var/run/mysqld -name "*.pid" -exec rm {} \; # Step C: Start service with special flags applied directly via CLI. echo "Booting server under permissive mode..." nohup mysqld_safe --skip-grant-tables &>/dev/null & sleep 5 # Optional D: Verify connectivity status after delay period. mysqladmin ping && echo "[OK]" || echo "[FAILED]" ``` ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值