date_format(time,%Y-%m-%d) 年 月 日
substring(time,0,10) 取年 月 日
timestampdiff(second,start_time,end_time) 取开始到结束时间的秒数 这个顺序不能改变
数据库迁移
数据的live bean
创建:数据的起点,对应业务中的逻辑,例如:用户注册、开卡、登记等,数据从客观数据流入数据库
存储:数据存在的状态,按照需求被管理,例如存在数据库管理系统中
使用:数据存在的意义,CRUD等等
共享:在数据使用过程中,涉及到数据的共享,例如购买表中的数据肯定要用到了用户表信息
归档:归档的数据说明数据要封存起来,这些数据将不再进行频繁操作
销毁:数据删除rm-rf,通常只会进行归档,不会进行删除
按照数据的流向来说:
第一种: 数据迁移分为数据导出 || 数据导入 ,这种方式通常存在一个中间文件。中间文件存储了数据库中的数据,将这些文件保存在磁盘上,需要时再导入另外的数据库。
这种方式虽然比较繁琐,但是可以随时进行数据的恢复。
第二种:在原数据库服务与目标数据库服务均开启的情况下,直接进行数据的传输。因此传输的方式也各种各样。
数据量比较大 三百个g 生产 存量 可能会停一个 存量数据 跟新增数据
就是数据量比较大,然后迁移过程中,存量个新增的数据该如何处理
数据库拷贝 copy 到另一个数据库
mysql主从同步的方式做到准实时的数据拷贝,mysqldump工具将源库的数据导出,再导入到新库
双写方案:
1:建新库,新库配置为源库的从库,用来同步数据;如果需要将数据同步到多库多表,那么可以使用一些第三方工具获取增量日志
2:改造业务代码,在数据写入的时候,不仅写入旧库,也要写入新库。
基于性能考虑,异步写入新库,只要保证旧库写入成功即可
注意点:单独将写入新库失败的数据记录写在单独的日志。
3:校验数据,抽取新库部分数据,跟旧库数据一致即可