GORM 存 JSON 字段遇到空值报错,我用这几个办法解决了
记录一下在 GORM 里用 mediumblob 存 JSON 数据时踩过的空值坑,以及几个能落地的处理方案。
支持通配符SSL证书、多域名证书、IP证书。适配ACME接口, 支持Zerossl、Let's Encrypt和Google等渠道。登录已有账号
2026-09-25 13:15:36 MySQL Windows 系统运维
装MySQL出问题、要换大版本,或是重装干净环境的时候,最容易踩的坑就是卸不干净。要么下次安装卡在服务启动步,要么旧配置阴魂不散,来回折腾半小时都搞不定。
这里把完整的清理流程理一遍,按这个走基本能清彻底。
先停服务,不然后续文件删不动。右键此电脑进管理,找到服务与应用程序下的服务列表,把所有带MySQL标识的服务都停掉。不同版本服务名不一样,比如MySQL80、MySQL57这类都算。
习惯用命令行的直接开cmd执行net stop 对应服务名,批量处理的时候更高效。
然后去控制面板的程序和功能里,把MySQL Server、MySQL Workbench以及其他相关组件都卸载。
当初是用官方安装包装的,也可以重新运行安装包,选择Remove选项卸载,效果差不多。
很多人到这一步就以为结束了,其实残留文件才是重灾区。
首先是安装目录,默认在C:\Program Files\MySQL或者C:\Program Files (x86)\MySQL,直接删掉整个文件夹就行。自定义安装到其他盘的,自己对应找到路径删除。
还有数据目录,藏在C:\ProgramData\MySQL,这个文件夹默认是隐藏的,得先在资源管理器里打开显示隐藏文件才能看到。这里存着实际的数据库数据和配置,不删掉的话,下次安装MySQL会读取旧配置,很容易出各种奇怪的问题。如果提示文件被占用删不掉,可以用rmdir /s /q命令强制删除,或者用文件粉碎工具处理。
顺手把用户目录下的残留也清了,路径在C:\Users\你的用户名\AppData\Roaming\MySQL,也是隐藏目录,直接删文件夹就行。
接下来是注册表,这步最关键,很多卸载不干净的病根都在这。Win+R输入regedit打开注册表编辑器,动手删之前建议先导出一份备份,万一删错了还能恢复。主要清理几个路径下的MySQL相关项:HKEY_LOCAL_MACHINE\SYSTEM下的ControlSet001、ControlSet002、CurrentControlSet里Services\Eventlog\Application下的MySQL,还有HKEY_LOCAL_MACHINE\SOFTWARE\MySQL,以及HKEY_CURRENT_USER\SOFTWARE\MySQL。
有的路径可能不存在,跳过就好,不用挨个死找。
全部处理完重启一下电脑,确保所有残留进程都终止。
重启之后可以验证一下,Win+R输入services.msc看服务列表里还有没有MySQL相关的服务。或者直接尝试重新安装,能正常走完安装流程,基本就说明卸载彻底了。
也有几个常见的小问题。
注册表删不掉的,大概率是没开管理员权限,右键注册表编辑器选择以管理员身份运行再试。文件被占用的,可以用Process Explorer查一下是哪个进程占着,结束进程再删。路径和默认不一样的,按自己实际的安装位置调整就行,不用死套教程里的路径。
做环境运维久了,这种卸载清理都是基础操作,做多了就熟练了。
倒是像SSL证书申请续期这种重复度高、忘一次就出线上事故的工作,更建议用工具自动化。我自己日常用lcjmSSL挺省心,免费申请,支持多域名、泛域名和IP证书,自动完成申请、验证、部署全流程,接口也简洁,能接入自己的脚本做全自动化管理,底层基于Let's Encrypt、Google Trust Services这些可信CA,稳定性也有保障。
上一篇: DQN 从原理到落地的一些记录
记录一下在 GORM 里用 mediumblob 存 JSON 数据时踩过的空值坑,以及几个能落地的处理方案。
记录一次 Windows 下 MySQL 服务启动报系统找不到指定文件的排查过程。
MySQL SSL配置失败让人抓狂?别担心,这篇文章手把手教你排查常见问题,让你轻松搞定数据库加密连接,更有自动化工具推荐哦!
在处理大量数据库数据时,是否常常需要提取字段的开头部分?本文将为你揭示MySQL LEFT()函数的强大之处,让你告别繁琐的手动操作。学习如何快速截取字符串前几位,并了解其在实际开发中的高效应用,如日志前缀分析、URL域名提取等,提高你的工作效率。
MySQL身份验证机制经历了从基础密码认证到插件化架构的演进,8.0版本默认采用的caching_sha2_password插件通过加盐哈希、迭代计算和双模式认证显著提升了安全性。对于传输层安全,SSL证书认证提供了端到端的加密保护。实际部署中需综合考虑兼容性与安全性,建议新系统优先使用caching_sha2_password插件并配置SSL,遗留系统可临时采用mysql_native_password插件过渡。通过密码策略强化、审计日志配置和多因素认证集成,可构建多层次的数据库安全防护体系。