怎么删除mysql服务:分系统操作
怎么删除mysql服务,分为Windows命令删除服务、Linux系统移除服务两套方案,Windows优先使用管理员cmd执行scdelete,Linux优先systemctl配合包管理器,执行前必须停止服务,数据目录、配置文件属于可选清理项,清理后库内数据会丢失,该方法适合重装MySQL、清理残留服务条目场景,不适合业务正在读写数据库的生产实例,生产环境需先做完整备份并切换业务流量。
怎么删除mysql服务在Windows系统
你按下Win+R输入services.msc打开服务面板,先找到MySQL对应的服务名称,常见命名为MySQL80、MySQL57,名称不是固定的,以面板显示为准。右键选择停止,等待服务状态变为已停止,再打开管理员身份的命令提示符,输入scdeleteMySQL80,把后面的名称替换成你查到的服务名,回车后提示DeleteServiceSUCCESS,就代表服务条目已经删除,刷新服务列表不会再出现这条记录。
仅执行scdelete只会清除系统服务注册项,不会删除MySQL程序文件、数据文件和注册表内容。如果你后续准备重装,需要手动找到默认路径C:\ProgramData\MySQL下的数据文件夹,以及C:\ProgramFiles\MySQL安装目录,自行删除,注册表路径HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services下,找到对应mysql名称子项也可以手动删除,注册表操作存在配置异常风险,非必要可以跳过。
mysqld自带参数也能删除服务,命令格式是mysqld--removeMySQL80,需要切换到MySQL的bin目录下执行,效果和scdelete接近,适合绿色免安装版本的MySQL实例。
怎么删除mysql服务在Linux系统
现代Linux发行版大多使用systemd管理服务,你先执行sudosystemctlstopmysql停止运行,再执行sudosystemctldisablemysql,这条命令用来取消开机自启,disable不会直接删除服务单元文件,只是取消开机加载。如果是apt包管理的Ubuntu、Debian系统,执行sudoaptremove--purgemysql-servermysql-clientmysql-common,purge参数会同步清除配置文件,yum、dnf体系的CentOS、Rocky系统使用sudodnfremovemysql-server。
| 发行版 | 停止命令 | 卸载清理命令 | 数据目录位置 |
|---|---|---|---|
| UbuntuDebian | sudosystemctlstopmysql | sudoaptremove--purgemysql-server | /var/lib/mysql |
| CentOSRocky | sudosystemctlstopmysqld | sudodnfremovemysql-server | /var/lib/mysql |
二进制手动部署的MySQL,没有纳入包管理器管理,卸载包命令不会生效,你停止进程后,删除/etc/systemd/system/下自建的mysqld.service文件,再执行sudosystemctldaemon-reload重载服务列表,系统就不再识别这个mysql服务。
删除服务不等于删数据。
业务数据存放在/var/lib/mysql目录,你如果确认不再保留数据,再执行sudorm-rf/var/lib/mysql、sudorm-rf/etc/mysql,这条操作会清空全部数据库表,无法恢复,云服务器生产环境执行前建议导出全量备份文件。
执行完所有操作之后,你可以用systemctllist-unit-files|grepmysql校验,没有返回mysql相关条目,代表服务单元已经清理完成。Windows端可以再次打开services.msc,搜索mysql关键词,无结果即清理完成。直接删除MySQL文件夹而不先删除服务,会造成服务残留,重装时容易出现端口占用、服务注册失败的问题。
