V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Themyth
V2EX  ›  程序员

discuz,有两个 mysql,一个完整(过去),一个不完整(现在),怎么合并

  •  
  •   Themyth · 2016-07-02 09:35:06 +08:00 · 2931 次点击
    这是一个创建于 3058 天前的主题,其中的信息可能已经有所发展或是发生改变。
    情况是这样的,从一台 win 转移一个 dz 论坛到一台 Linux ,因为情况紧急, phpmyadmin 导出数据库居然自动断开了,居然没有完整,少了十几 M 没意识到, win 服务器已经格式化,没了,但是有 6 月 5 日的全盘备份。
    导出的数据库换到新服务器后,出现很多表丢失,但是帖子都还在,就是少了类似 usergroups 之类的表,但没法确定少了哪些表,反正老是报错 1146 ,无法正常访问。

    有没有办法将老数据库和新数据库进行合并?就是帖子不会少,丢失的部分表能恢复?
    哎,头疼死了~~~
    10 条回复    2016-07-03 11:09:53 +08:00
    dengyunxuan
        1
    dengyunxuan  
       2016-07-02 09:56:16 +08:00
    那你自己去核对那些表丢失了。在本地搭建一个环境加上。在把丢失的表同步过去
    yghack
        2
    yghack  
       2016-07-02 10:34:16 +08:00
    手工合并
    tabris17
        3
    tabris17  
       2016-07-02 10:46:18 +08:00
    把丢失的帖子找出来手工发一遍咯
    annielong
        4
    annielong  
       2016-07-02 10:48:01 +08:00
    看样子是少了配置类的表,而不是少了数据类的表,配置类的表一般数据不怎么动,直接复制到新库上就能用,最痛苦的是少了数据,直接插入新库中的表后标识都变了,还要改其他关联表的标识,
    Themyth
        5
    Themyth  
    OP
       2016-07-02 11:02:49 +08:00
    @yghack 决定手工一张一张核对了
    @tabris17 决定一张一张核对。。。
    @annielong 决定手工来。。。
    loading
        6
    loading  
       2016-07-02 11:03:57 +08:00 via Android
    每张表 select count 也用不了几分钟…
    realpg
        7
    realpg  
       2016-07-02 13:35:15 +08:00
    @Themyth
    完全没必要手动
    把两个库分别导入 放到一个服务器里

    有主键的
    insert ignore into `完整旧库`.XXXX select * from `部分新库`.XXXX;
    SmiteChow
        8
    SmiteChow  
       2016-07-02 14:26:46 +08:00
    写脚本迁移啊
    Themyth
        9
    Themyth  
    OP
       2016-07-02 21:39:05 +08:00
    @realpg 我也是醉了。。我已经手工弄完了才看到你的帖子。。。
    @SmiteChow 已经手工弄完了 汗
    hiyouli
        10
    hiyouli  
       2016-07-03 11:09:53 +08:00 via Android
    自从用了 php7,discuz 就装不上插件了。。。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2852 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 19ms · UTC 13:40 · PVG 21:40 · LAX 05:40 · JFK 08:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.