由于项目中使用了多级目录结构,数据库的存储使用id,parentId进行存储,有个需求就是通过id查询最顶层目录的id(最顶层目录id的parentId=0),想尝试使用存储过程来解决这个问题。因为存储过程使用到了临时表导致存储空间被占满。
2023年6月19日大约 3 分钟
由于项目中使用了多级目录结构,数据库的存储使用id,parentId进行存储,有个需求就是通过id查询最顶层目录的id(最顶层目录id的parentId=0),想尝试使用存储过程来解决这个问题。因为存储过程使用到了临时表导致存储空间被占满。
现需要对docker compose上部署的单机mysql进行备份,我们可以使用脚本执行mysqldump命令进行定时备份,但是会存在定时备份时间间隔数据丢失的风险。可以使用主从复制模式来解决这个问题。同时可以使用percona-toolkit工具检查数据一致性。
此前写过一篇在Spring项目简单配置Flyway(V4.2版本)数据库版本管理。本次新项目使用SpringBoot3.0.4,尝试采用Liquibase4.5作为数据库版本管理工具。
这里记录使用XML和SQL两种方式,这两种方式使用最普遍,实际使用时选择其一即可。
本篇旨在快速在win10中搭起MySQL环境,使用5.7的zip版本;zip版本是一个压缩包,使用命令安装,可以更快、免注册表安装;官方有提供exe文件包安装的,它会写一堆注册表,还可能因为宿主机环境问题导致不能启动等诸多问题(反正我遇到过)。
本篇针对解压版本5.7.18(博主使用的这个版本、在某些低版本/高版本中部分命令可能失效)
cat /proc/version
查看docker --version
或docker info
可查看看了一下Flyway官网对java支持的介绍,发现目前官方版本flayway7.0.4最低只支持Java 7版本,现项目中使用Java 6、Spring4,所以配置4.2.0版本。
<dependency>
<groupId>org.flywaydb</groupId>
<artifactId>flyway-core</artifactId>
<version>4.2.0</version>
</dependency>