标签: MySQL
-
本文针对公有云com环境数据向csp环境迁移时程序版本不一致且无法升级的问题,介绍了实现流程。通过分析Git日志找出14个数据库迁移文件的差异,确认多出的SQL主要为表结构调整。在无法统一结构的情况下,将两个数据库导入本地,编写支持租户ID参数的迁移命令,使用事务处理并逐一迁移表。文章记录了pa_plan表的迁移过程,成功将4个租户的数据迁移至csp环境,并探讨了潜在的主键冲突及关联表处理问题。
-
针对 MySQL 容器查询时报错提示不兼容 ONLY_FULL_GROUP_BY 的问题,文章记录了在容器内连接 MySQL 并临时修改 sql_mode 的操作过程。通过执行 set global 命令调整设置后,查询 SQL 不再报错且接口响应恢复正常,这是一种临时的解决方案,若容器升级或重新部署则需要重新执行。
-
本文记录了 MySQL 报错 1055 的解决过程,该错误由于 sql_mode 包含 only_full_group_by 导致非聚合列未出现在 GROUP BY 子句中。文章首先尝试调整 SQL 语句,使查询字段与分组字段完全一致从而消除报错。随后考虑到修改代码成本较高,参考相关技术文档,通过修改配置文件 my.ini 调整设置,最终解决了该兼容性问题。
-
针对MySQL表注释、字段注释及表中值出现乱码的问题,通过在SQL文件最开头添加SET NAMES utf8mb4;命令,可以有效解决字符编码不匹配的情况,执行后表结构注释与数据内容均能正确显示,不再出现乱码现象。
-
针对Navicat连接阿里云RDS MySQL实例失败的问题,文章记录了申请外网地址后遇到的连接超时与访问权限错误处理过程。通过搜索获取当前公网网段并在RDS管理控制台数据安全性中设置白名单分组,解决了连接超时问题;随后将用户名从root修改为其他有效账户,最终成功建立连接并提示外网连接存在安全风险。
-
CakePHP v2.6.4 运行中出现 SQLSTATE[HY000] [2002] Connection timed out 报错,经检查发现数据库主机地址配置为内网IP,导致容器无法访问。将该地址调整为外网IP后,打印数据库连接信息确认容器可以正常访问,问题得以解决。
-
本文针对产品部署时初始化数据的场景,介绍了如何在 MySQL 的 SQL 文件中定义与使用变量。由于多条 SQL 语句的执行依赖于前序语句生成的主键 ID,文章演示了通过变量传递参数的具体 SQL 写法,并记录了脚本运行前后的数据库表状态。最终验证显示脚本运行成功,各表中的记录 ID 值均符合预期,实现了数据的正确初始化。
-
本文介绍了在 Yii 2.0 中优化服务器健康检查实现的过程。通过分析源码发现,数据库检查中的 getIsActive() 方法是冗余的,直接使用 open() 方法即可。针对 Redis 连接,虽然 ping 命令常用于测试连接,但其实质仍需先执行 open()。经过错误密码测试验证后得出结论,为保持检测方式统一,无论是数据库还是 Redis,均应统一采用 open() 方法进行连接检查。
-
Navicat for MySQL 不支持直接编辑数据库名,文章通过先创建新数据库,再将原数据库的结构与数据导出为 SQL 文件并导入至新数据库,最后删除旧数据库的方式,实现了数据库重命名的操作,完成了新旧数据库结构与数据的迁移。
-
文章针对 Yii 2.0 默认不支持 MySQL 的 MEDIUMTEXT 等字段类型的问题,通过参考 SchemaBuilderTrait.php 源码,在控制台目录下新建自定义 Trait 文件并添加相应类型支持。操作过程包括复制核心文件、实现扩展方法以及在迁移文件中引用该 Trait。执行迁移后,成功创建了包含 MEDIUMTEXT 类型字段的数据库表,经验证字段类型符合预期。
