关于数据库数据迁移问题,求帮助

qq_16054253 2018-06-19 10:59:23
mysql数据库,表中数据不定时会增加,没有时间相关的列,主键是uuid

如果根据uuid排序分页查询 会导致 数据丢失。

如何将数据全部复制到新的数据库表中啊 ,表结构完全一致。

求大神帮忙
...全文
715 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_29778107 2018-06-22
  • 打赏
  • 举报
回复
数据库不是有同步策略么?直接复制过去
Braska 2018-06-21
  • 打赏
  • 举报
回复
既没有增量字段也没有时间戳字段,java程序基本上做不了。不然flume倒是可以。
wenjie4892543 2018-06-21
  • 打赏
  • 举报
回复
你这是要导数据;可以研究下大量数据的导入导出

1:导出到txt中,然后再读取入库;

2:直接登录另一个库创建create talbe tb2 select * from db1.tb1;然后在去导数据;
小灰狼 2018-06-20
  • 打赏
  • 举报
回复
如果源库和目标库都是 mysql,并且部署在不同的服务器上的话,可以用 mysql 的主从复制 其基本原理就是,主服务器上启用事务日志之后,会把所有的对数据库的数据更改操作(insert, update, delete)全部记录到事务日志中。先对主库进行一次全量备份,并且记录这个备份的日志位置,然后把备份在目标机上还原,再配置目标机为从机(Slave),启用主从复制功能,这样从机会周期性地从主机读取事务日志内容,并且在本机上执行相同的操作。 对源库进行全量备份的时候,会造成数据库停止服务,这看你的源库数据量有多大。 这些操作可能会有点麻烦,楼主有条件的话,最好先在虚拟机之类的地方预演一遍。
stacksoverflow 2018-06-19
  • 打赏
  • 举报
回复
加一列时间戳,初始化倒入全部数据,然后根据时间戳按增量导入。数据库切换完毕后,干掉这一列。
慧儿1314 2018-06-19
  • 打赏
  • 举报
回复
查询原来的表的数据,然后让主键是否匹配,如果匹配将这条数据insert进去
qq_16054253 2018-06-19
  • 打赏
  • 举报
回复
引用 3 楼 myself_520 的回复:
如果表列名和数据结构一样的话 先将数据导出生成sql语句,再打开直接改掉表名,然后执行
是要用java代码写个程序啊,不能通过命令dump出来
慧儿1314 2018-06-19
  • 打赏
  • 举报
回复
如果表列名和数据结构一样的话 先将数据导出生成sql语句,再打开直接改掉表名,然后执行
慧儿1314 2018-06-19
  • 打赏
  • 举报
回复
如果表列名和数据结构一样的话 先将数据导出生成sql语句,再打开直接改掉表名,然后执行
慧儿1314 2018-06-19
  • 打赏
  • 举报
回复
如果表列名和数据结构一样的话 先将数据导出生成sql语句,再打开直接改掉表名,然后执行
慧儿1314 2018-06-19
  • 打赏
  • 举报
回复
你不是说写个Java程序吗,写个方法去实现不就行了,原来表的数据肯定是有限的呀,它复制完了就是停止了呀
qq_16054253 2018-06-19
  • 打赏
  • 举报
回复
引用 15 楼 maradona1984 的回复:
[quote=引用 12 楼 qq_16054253 的回复:] [quote=引用 11 楼 stacksoverflow 的回复:] 是否需要考虑数据的不定时更新,删除,还是只考虑数据的不定时插入?
就是吧生成环境的表 数据 复制一份出来,但是在复制的过程中,生成环境的表可能会新增数据。[/quote] 这种事情当然得停机维护啊...id从字符串到数字 应用不用改?[/quote] 没说主键换成自增长的数字啊,我只是把原来的数据 复制到另外一张表。,但是在复制的过程中,原来的表中数据可能会变动,比如会插入几条数据
maradona1984 2018-06-19
  • 打赏
  • 举报
回复
引用 12 楼 qq_16054253 的回复:
[quote=引用 11 楼 stacksoverflow 的回复:] 是否需要考虑数据的不定时更新,删除,还是只考虑数据的不定时插入?
就是吧生成环境的表 数据 复制一份出来,但是在复制的过程中,生成环境的表可能会新增数据。[/quote] 这种事情当然得停机维护啊...id从字符串到数字 应用不用改?
  • 打赏
  • 举报
回复
不排序不就行了
stacksoverflow 2018-06-19
  • 打赏
  • 举报
回复
引用 12 楼 qq_16054253 的回复:
[quote=引用 11 楼 stacksoverflow 的回复:] 是否需要考虑数据的不定时更新,删除,还是只考虑数据的不定时插入?
就是吧生成环境的表 数据 复制一份出来,但是在复制的过程中,生成环境的表可能会新增数据。[/quote] 只考虑新增数据的话,是否可以做一个临时表,存储所有同步完的ID,每次执行任务时用SQL去select ID不再这个表里的数据,然后同步,插入ID到临时表。 重复这个过程。
qq_16054253 2018-06-19
  • 打赏
  • 举报
回复
引用 11 楼 stacksoverflow 的回复:
是否需要考虑数据的不定时更新,删除,还是只考虑数据的不定时插入?
就是吧生成环境的表 数据 复制一份出来,但是在复制的过程中,生成环境的表可能会新增数据。
stacksoverflow 2018-06-19
  • 打赏
  • 举报
回复
是否需要考虑数据的不定时更新,删除,还是只考虑数据的不定时插入?
qq_16054253 2018-06-19
  • 打赏
  • 举报
回复
引用 5 楼 myself_520 的回复:
查询原来的表的数据,然后让主键是否匹配,如果匹配将这条数据insert进去
你的意思是说 一条一条查,先判断是不是插入过的,不是就插入,。但是你这样怎么停下来呢。怎么知道有没有复制完呢。
qq_16054253 2018-06-19
  • 打赏
  • 举报
回复
引用 6 楼 stacksoverflow 的回复:
加一列时间戳,初始化倒入全部数据,然后根据时间戳按增量导入。数据库切换完毕后,干掉这一列。
表太大了,加不了列了。
qq_16054253 2018-06-19
  • 打赏
  • 举报
回复
引用 7 楼 maradona1984 的回复:
为啥要复制到新的表,直接新建一列,按顺序插入值,把原来id删掉,把这一列改成id
这是项目用到的表,数据太多所以要处理。你这样表结构都变了,那项目还怎么运行下去
加载更多回复(1)

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧