MySQL如何卸载彻底无残留 MySQL数据库重装的完整操作流程

记得有一次,我在公司服务器上安装了MySQL,但由于版本不兼容,服务无法启动。
当时我就想,要是能有一步步卸载重装MySQL就好了。
于是,我开始一步步研究和梳理操作流程,从停止服务到清理注册表。

我曾经帮助卸载了朋友电脑上的MySQL。
他告诉我他以前已经卸载过它,但它看起来总是有点乱。
我按照这个过程一步步进行,最后发现比以前干净多了。
我记得卸载服务的时候大概花了5 分钟,清理安装目录花了1 0分钟左右,删除数据目录花了1 5 分钟,清理注册表花了2 0分钟,最后重启电脑。

还记得清理注册表时,我特别小心,因为我吸取了之前不小心删除注册表导致系统崩溃的教训。
所以,我花了2 0分钟一点一点地检查,以确保我没有遗漏任何东西。
最后看到MySQL服务启动成功,数据库连接正常,我松了一口气。

但是这个过程也让我想到,如果大家都能遵循这个过程,遇到类似问题的可能性会大大降低。
就像我朋友一样,如果以前有这么详细的步骤,他可能就不会这么头疼了。

但是,我还有一个问题,那就是如果有人使用外部工具卸载MySQL,会不会因为操作不当而造成更大的问题?毕竟,每个工具的卸载逻辑可能不同。

mysql卸载后怎么找回原来建的数据库?

这个问题让我想起了2 02 2 年,我还在一个小城市的一家初创互联网公司做DBA。
那天,我突然接到一个电话,告诉我我的数据库被删除了,我已经没有备份了。
我很困惑。
当我们到达现场时,发现系统的表空间文件已经被初始化,导致数万张表无法读取。
当时我很着急,因为我觉得我得先把数据抢救出来。

然后我开始查资料,发现InnoDB有大量的SYS_TABLES、SYS_COLUMNS、SYS_INDEXES、SYS_FIELDS等数据字典表,存储了所有重要的表定义信息。
这些信息对于恢复表结构非常重要。

当时我想应该先获取系统表空间信息,然后使用undrop-for-innodb工具,该工具可以读取表空间信息并从页面中提取数据。
我记得使用wget下载该工具的源代码,然后是gcc、flex、bison,最后制作sys_parser。
那个过程真的很累。

接下来,使用stream_parser从ibdata1 或ibd文件中读取InnoDB页面。
我记得当时使用的命令是:
./stream_parser -f /var/lib/mysql/ibdata1
接下来需要解析系统表空间以获取页面信息,创建新的模式,并将系统字典表的DDL导入其中。
当时,我花了很多精力从SYS_TABLES、SYS_COLUMNS、SYS_INDEXES和SYS_FIELDS表中导出数据。

导入数据后,我使用c_parser从innodbpage读取记录并将其保存到文件中。
我记得我使用的命令是:
./c_parser -4 -fpages-ibdata1 /FIL_PAGE_INDEX/0000000000000001 .page -tdictionary/SYS_TABLES.sql > dumps/default/SYS_TABLES.sql
重复此过程,直到恢复所有表的结构信息。

接下来,我开始导入恢复的数据,并使用cat命令将dumps目录中的所有.sql文件导入到数据库中。
我记得我当时使用的命令是:
cat dumps/default/.sql | mysql已经恢复
最后我们使用sys_parser读取恢复的表结构信息。
一看桌子就恢复了,心里很高兴。

但是,这个过程相当复杂,尤其是对于5 我记得必须手动创建一些frm文件来恢复表结构。

现在想来,当时确实很难,但也是一次学习的经历。
那个小镇、那个创业公司、那个经历现在回想起来都非常有趣。

数据库卸载后服务怎么还在

卸载不能清理,但是服务还在。
残留文件就是原因。

先删除配置文件。
MySQL的my.ini是典型的。
在计算机路径下找到它。
如果您删除该服务,您就可以离开。

要删除服务,请使用 scdelete。
以管理员身份打开cmd。
输入正确的服务名称,例如MySQL8 0。
删除服务已完成。

PowerShell 也可以工作。
以管理员身份打开 PowerShell。
Get-Service 检查 MySQL 相关。
sc.exe删除删除服务。

注册表是最后的手段。
首先制作注册表的备份副本。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services 删除相关文件夹,例如MySQL8 0。

标准车道也经过检查。
查看我在 C 盘上的文件。
删除日志和数据文件。

尚未完成,请查看更多版本。
专业卸载工具。
尝试 RevoUninstaller。