分类: MySQL 5.7
-
在 Navicat for MySQL 中导入约 35MB 的 SQL 文件时,执行报错 2006 – MySQL server has gone away。经排查,该问题源于 MySQL 配置文件中 max_allowed_packet 的默认设置过低。通过在 my.ini 配置文件中将该参数的值修改为 40M,并重启 MySQL 服务,再次尝试导入文件后,导入成功且不再报错。
-
在添加外键约束时遇到 SQLSTATE[23000] 报错,提示无法添加或更新子行。经分析,原因是 topics 表中存在用户 ID 为 9 的记录,但在关联的 users 表中已找不到对应的父记录。通过删除 topics 表中用户 ID 为 9 的脏数据再次执行命令,最终成功解决了报错,并顺利添加了外键约束 topics_user_id_foreign。
-
执行 Docker 命令将 SQL 文件导入 MySQL 容器时出现安全警告,且数据库表显示为空。经排查,最终使用 docker cp 命令将本地 SQL 文件复制至容器内,随后进入容器登录 MySQL,通过执行 source 命令成功完成数据库导入操作。
-
本文针对公有云com环境数据向csp环境迁移时程序版本不一致且无法升级的问题,介绍了实现流程。通过分析Git日志找出14个数据库迁移文件的差异,确认多出的SQL主要为表结构调整。在无法统一结构的情况下,将两个数据库导入本地,编写支持租户ID参数的迁移命令,使用事务处理并逐一迁移表。文章记录了pa_plan表的迁移过程,成功将4个租户的数据迁移至csp环境,并探讨了潜在的主键冲突及关联表处理问题。
-
针对 MySQL 容器查询时报错提示不兼容 ONLY_FULL_GROUP_BY 的问题,文章记录了在容器内连接 MySQL 并临时修改 sql_mode 的操作过程。通过执行 set global 命令调整设置后,查询 SQL 不再报错且接口响应恢复正常,这是一种临时的解决方案,若容器升级或重新部署则需要重新执行。
-
本文记录了在 Yii 2.0 中使用 like 操作符查找反斜杠时结果为空的问题。经排查,在 MySQL 5.7.19 版本下,当字段排序规则为 utf8mb4_unicode_ci 时,需在 SQL 中多增加一根反斜杠才能查出数据。对比测试 utf8mb4_general_ci 排序规则则无此现象。查阅官方文档得知这是特定版本下 utf8mb4_unicode_ci 的已知 Bug,该问题在 MySQL 8.0.18 中已修复。
-
本文记录了 MySQL 报错 1055 的解决过程,该错误由于 sql_mode 包含 only_full_group_by 导致非聚合列未出现在 GROUP BY 子句中。文章首先尝试调整 SQL 语句,使查询字段与分组字段完全一致从而消除报错。随后考虑到修改代码成本较高,参考相关技术文档,通过修改配置文件 my.ini 调整设置,最终解决了该兼容性问题。
-
针对Navicat连接阿里云RDS MySQL实例失败的问题,文章记录了申请外网地址后遇到的连接超时与访问权限错误处理过程。通过搜索获取当前公网网段并在RDS管理控制台数据安全性中设置白名单分组,解决了连接超时问题;随后将用户名从root修改为其他有效账户,最终成功建立连接并提示外网连接存在安全风险。
-
本文介绍了在 Yii 2.0 中解决基于文章发布时间范围筛选账号数量排行的问题。通过调用 onCondition 方法在 JOIN 查询的 ON 部分指定状态额外条件,并新增配置 filterAttributeName 的过滤器来实现关联表记录创建时间的筛选。最终,通过接口地址传递相关参数,成功生成符合预期的 SQL 查询语句并获取了正确的响应结果。
