V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
wangfyyy
V2EX  ›  数据库

大家一般都怎么复制数据库里的表到另一个数据库中?

  •  1
     
  •   wangfyyy · 2019-06-28 10:45:58 +08:00 · 4223 次点击
    这是一个创建于 2009 天前的主题,其中的信息可能已经有所发展或是发生改变。

    navicat 转储出来,然后在另一个数据库运行 sql 文件报错

    28 条回复    2019-06-29 13:18:26 +08:00
    wym7223645
        1
    wym7223645  
       2019-06-28 10:55:23 +08:00
    少量数据都是这么干的,报错请查找报错原因并解决
    littlewing
        2
    littlewing  
       2019-06-28 10:55:38 +08:00 via iPhone
    sqldump
    20015jjw
        3
    20015jjw  
       2019-06-28 10:58:08 +08:00 via Android
    打字够快的话输就行了
    CallMeReznov
        4
    CallMeReznov  
       2019-06-28 11:01:57 +08:00   ❤️ 5
    insert into ndb.table select * from odb.table


    如果没有表先建复制表结构
    create table ndb.table like odb.table
    thechosenone
        5
    thechosenone  
       2019-06-28 11:05:07 +08:00
    @20015jjw 你是在抖机灵吗?
    jzds001
        6
    jzds001  
       2019-06-28 11:09:32 +08:00
    export 再 import 啊
    carlclone
        7
    carlclone  
       2019-06-28 11:10:56 +08:00
    navicat 自带迁移功能 ,好好找找选项 , 泻药
    unclemcz
        8
    unclemcz  
       2019-06-28 11:17:58 +08:00
    检查错误信息,如果两库的结构一模一样,出问题的概率微乎其微。
    geekvcn
        9
    geekvcn  
       2019-06-28 11:19:01 +08:00   ❤️ 1
    你是不是编码问题?一般保存的 sql 是 utf8,但是原数据库默认是 latin1 就会字符报错,直接恢复加上--default-character-set=latin1 navicat 这种工具一般能选编码
    deweixu
        10
    deweixu  
       2019-06-28 11:20:24 +08:00
    insert select
    chinesestudio
        11
    chinesestudio  
       2019-06-28 11:20:31 +08:00 via Android
    sources
    zdnyp
        12
    zdnyp  
       2019-06-28 11:20:51 +08:00
    写个小脚本...数据多的话
    wongy
        13
    wongy  
       2019-06-28 11:24:39 +08:00   ❤️ 1
    Navicat Premium -> 工具 -> 结构同步 & 数据同步
    gz911122
        14
    gz911122  
       2019-06-28 11:26:37 +08:00
    找 dba
    mikicomo
        15
    mikicomo  
       2019-06-28 11:29:33 +08:00
    otter
    lonelygo
        16
    lonelygo  
       2019-06-28 11:31:31 +08:00
    以前项目上干活都是 export & import,还要牢记一定要加上字符集。
    现在貌似都是用 Navicat 图形界面搞了。
    wowo243
        17
    wowo243  
       2019-06-28 11:34:13 +08:00
    数据少 navicat 导入导出,数据多 mysqldump 或者 mydumper
    lychnis
        18
    lychnis  
       2019-06-28 11:40:11 +08:00
    差点以为是面试题
    arthas2234
        19
    arthas2234  
       2019-06-28 11:41:07 +08:00
    字符集和数据库引擎都要保持一致,否则会翻车
    rr41ns
        20
    rr41ns  
       2019-06-28 11:55:15 +08:00
    可能是版本 mysql 版本有差异,比如有些字段设计 5.7 是 ok 的,但是导入到 5.5 的环境中就会报错。
    wangfyyy
        21
    wangfyyy  
    OP
       2019-06-28 11:58:03 +08:00
    @rr41ns 正在下载 5.7 ~~ 谢谢大家咯:)
    gabezhao
        22
    gabezhao  
       2019-06-28 13:32:46 +08:00
    navicat 自带的数据传输
    dobelee
        23
    dobelee  
       2019-06-28 13:41:31 +08:00 via Android
    mysqldump 导出导入,再写个脚本追数据。
    justfindu
        24
    justfindu  
       2019-06-28 13:43:35 +08:00
    @rr41ns 大部分应该是你的 timestamp 换成 datetime 就好了, 然后字符串如果有索引,长度只能为 191 以内
    MonoLogueChi
        25
    MonoLogueChi  
       2019-06-28 13:52:31 +08:00 via Android
    少量数据直接 navicat 传输,大量数据我没弄过
    wangfyyy
        26
    wangfyyy  
    OP
       2019-06-28 14:59:32 +08:00
    已经弄好了,谢谢大家。问题总结:我的 mysql ( 5.5 )不支持 utf8mb4,升级到了 5.7 就好了,另外 navicat 也换到了 12(之前是考古版的~~),还是用转储加导入做的。原来还有这么多方式来 cp,学习了~
    oklqaz
        27
    oklqaz  
       2019-06-28 16:18:44 +08:00
    22 楼正解
    qf19910623
        28
    qf19910623  
       2019-06-29 13:18:26 +08:00
    MySIAM 表示直接打包复制过去 23333
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5745 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 02:52 · PVG 10:52 · LAX 18:52 · JFK 21:52
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.