标签: MySQL 5.7
-
今天继续整理 WordPress 生产站的站点健康状态。最初后台显示 6 个“推荐的改进”,包括未启用的插件、未启用的主题、陈旧的 SQL 服务器、公开可访问的调试日志、评论分页,以及固定链接中没有文章名。排查过程中删除了 5 个不再使用的旧主题和 12 个已经没有实际用途的插件,升级 Akismet,关闭 WordPress 调试日志,并结合当前页面缓存与 CDN 架构,最终决定关闭文章评论及 Pingback/Trackback,同时保留历史评论数据。处理完成后,站点健康推荐项由 6 个减少到 3 个;剩余项目则分别因为 Cloudflare 插件暂时保留、阿里云 RDS MySQL 5.7 暂时无法升级,以及现有固定链接结构不适合为消除提示而贸然修改,因此选择保持现状。
-
在 Windows 10 中尝试将 MySQL 5.7 直接更新至 8.0 时,安装向导提示只能升级至 5.7.44 版本,无法跨版本更新。为确保升级成功,采取了先备份所有数据库,然后卸载系统中所有以 MySQL 开头的软件的方案。卸载完成后重新运行安装程序,此时不再提示升级,而是显示全新安装选项,选择 Full 类型进行安装,安装列表确认了将部署 MySQL 8.0。
-
在 MySQL 5.7 中清空包含 300 多万条记录的表时,当剩余记录达到 200 多万时系统提示 1206 错误,表明锁数量超过了锁表大小。文章参考相关资料,通过编辑 Windows 系统下的 my.ini 配置文件,将 innodb_buffer_pool_size 变量设置为较高值。由于重启服务时遇到错误 1053,最终选择重启计算机。再次执行清空表操作后,问题解决,操作成功完成。
-
本文针对 MySQL 5.7 数据库中查询 json 字段同一层级结构多个相同字段值的问题进行了说明。文章以提取 announcement-bar 下 blocks 中的 settings.text 为例,展示了使用通配符构建路径的 SQL 写法。该查询返回结果为数组,若数据不存在则返回 NULL。文中特别指出,路径中的 announcement-bar 必须加上双引号,否则会因 Invalid JSON path expression 报错。
-
针对 MySQL 5.7 JSON 字段在队列任务并发执行时导致数据丢失的问题,文章记录了尝试使用 JSON_ARRAY_APPEND 函数进行原子操作的过程。在处理删除数组元素时,因 JSON_SEARCH 不支持数字且并发下依然存在残留,曾尝试添加锁,但最终发现问题根源在于另一处代码不断添加数据并频繁入队列。通过调整为数据添加完毕后再统一批量入队列,最终确保数据清空逻辑符合预期,解决了并发冲突与数据不一致。
-
针对 MySQL 5.7 中 theme_table1 表的 JSON 数组字段 theme_table2_ids 存储关联 ID 的场景,本文介绍了如何查询 theme_table2 表记录是否存在于此字段中。文章展示了利用 JSON_CONTAINS 函数编写 SQL 的具体实现过程,通过 JOIN 操作成功实现了基于 JSON 字段的关联查询需求。
-
在 MySQL 5.7 中,针对通过字段 table2_id 关联表 table2 主键 id 的表 table1,需要查询在 table1 中存在但在 table2 中不存在的数据。文章最终给出了解决该关联查询问题的具体 SQL 语句。
-
本文记录了将 Shopify PHP 主题应用扩展部署至生产环境的过程。操作包括上传本地代码至阿里云服务器,在生产环境构建前后端,并解决因配置错误导致扩展推送至错误应用的问题。通过重新运行开发命令、使用环境变量拉取命令指定正确的生产应用,成功创建并发布了扩展版本,最终实现了在店铺主题编辑器中添加应用块及首页内容的更新。
-
本文记录了将Shopify PHP应用从开发环境部署至阿里云ECS生产环境的过程。主要操作包括在Shopify合作伙伴中心创建独立应用,将ECS环境中的PHP由7.4升级至8.1,配置域名SSL解析,并调整PHP配置以解决proc_open限制。部署过程中通过修改数据库引擎参数修复了迁移报错,更新Nginx配置和.env文件解决了权限与参数错误,最终构建前后端代码并重新安装应用,成功实现了页面正常加载。
-
在 PHP 7.4 和 MySQL 5.7 环境中,针对 JSON 类型字段插入 string(4) “null” 的问题进行了分析。程序原先仅使用 is_null() 判断,导致值为 “null” 的字符串被误判为合法 JSON 并写入数据库,从而引发 500 异常。经检查 SQL 日志和变量变化,确认 json_encode(null) 会返回字符串 ‘null’ 并被直接更新。最终结论是在执行 json_encode 前增加额外判断,仅当变量不为 NULL 时才进行编码,确保数据格式正确。
