V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
wangfyyy
V2EX  ›  数据库

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

  •  1
     
  •   wangfyyy · Jun 28, 2019 · 4835 views
    This topic created in 2502 days ago, the information mentioned may be changed or developed.

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

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


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