• 请不要在回答技术问题时复制粘贴 AI 生成的内容
Number13
V2EX  ›  程序员

求帮助, MySQL 数据库迁移~~~~~

  •  
  •   Number13 · Nov 15, 2017 · 5422 views
    This topic created in 3279 days ago, the information mentioned may be changed or developed.

    一个远程的主机,配置的数据库其中一张表单数据量已有 2 千万多,要迁到另一台阿里的数据库服务器中,该怎么办,昨天导一张 2 百万的数据表时,就是 50 万导一个文件这样出来的,这 2 千万…………我不得疯了啊,各位大神,行行好,搭把手把……呆滞中……

    20 replies  •  2017-11-16 11:10:27 +08:00
    chenhidong
    chenhidong
    Nov 15, 2017
    1
    才 40 次.不慌
    mchl
    mchl
    Nov 15, 2017
    2
    2 千万不算多,不要怕

    备份:
    mysqldump -u username -p --databases your_database_name > path/to/filename.db

    传输前用 zip 压缩一下

    恢复:
    mysql -u username -p < path/to/filename.db
    siyiye
    siyiye
    Nov 15, 2017
    3
    直接下载数据库文件,复制粘贴.....
    quickma
    quickma
    Nov 15, 2017
    4
    直接用数据库的表文件导入导出,很方便的
    FFLY
    FFLY
    Nov 15, 2017
    5
    大数据量,我一般都是复制数据库文件,简单安全,导出 SQL 有时候会遇到一些坑。
    goodryb
    goodryb
    Nov 15, 2017 via iPhone
    6
    大兄弟啊,给你推荐个神器,阿里云数据传输服务 DTS,数据结构+全量数据+增量数据迁移,稳定高效,出门旅行……说错词了,自己去看看吧
    binjjam
    binjjam
    Nov 15, 2017
    7
    能停 MySQL 的话直接传文件呀
    billgreen1
    billgreen1
    Nov 15, 2017
    8
    我知道一个 rsnyc 希望能对你有用
    8355
    8355
    Nov 15, 2017
    9
    @goodryb #6 之前没听说过这个服务 刚去查了一下发现确实牛逼啊. 阿里云为了让其他用户迁移到阿里云真是煞费苦心啊.
    lastmayday
    lastmayday
    Nov 15, 2017
    10
    Outhwaite
    Outhwaite
    Nov 15, 2017
    11
    学到了
    neoblackcap
    neoblackcap
    Nov 15, 2017
    12
    1. 可以导出了,然后 zip 压缩后用 rsync 传输
    2. 弄 VPN,将现有环境与阿里云数据库网络环境打通,然后弄成主从。
    aksoft
    aksoft
    Nov 15, 2017
    13
    数据库文件,rsnyc
    zhx1991
    zhx1991
    Nov 15, 2017
    14
    弄成主从是最方便的
    shakoon
    shakoon
    Nov 15, 2017
    15
    mysql 可以直接拷贝数据库文件的,直接压缩了拷走就是了。如果业务不能停止,那就建个一模一样的临时表,把临时表那几个文件打包走,再在目标服务器恢复。
    likuku
    likuku
    Nov 15, 2017
    16
    现在普遍都是 innodb 了吧,直接复制数据库文件可不一定可行。假若新旧 mysql 版本一致,架构平台一致,或许还值得一试。

    能停机 /离线,那么再多也不是事。写入 SSD 硬盘,mysqldump 禁用 quick (不耗内存,便于长时间导出的稳定)。
    findex
    findex
    Nov 15, 2017
    17
    有如下 3 种操作方案(思路)
    1、mysqldump 这里用 unix pip (加 zip 压缩) 远程在线出表到本地服务器,这样可以减少远程服务器 SSD 硬盘写入损耗
    2、使用 mysqlworkbencn 工具远程可视化 dump 表
    3、说的 rsync 也是一套方案。不过对信息增量不友好,因为到时候业务没有停止的时候,你还要手动 dump 一遍,rsync 一遍。

    楼上说的主从挺有意思的。可行。这样既不会影响业务,又不会损失数据。从机只做备份即可。这样虽然能保证数据安全,但是效率往下降一倍。如果你要做数据分析的话,这样安全,但是费事。

    dts 没用过,你可以试试
    tydl
    tydl
    Nov 15, 2017
    18
    我都是这样操作。
    1、停止 mysql
    2、对数据库文件夹进行压缩。
    3、复制粘贴。

    导来导去多麻烦啊。
    msg7086
    msg7086
    Nov 16, 2017
    19
    主从 downtime 比较低。
    直接复制整个 /var/lib/mysql 也可以,记得两边停掉服务再复制。
    woscaizi
    woscaizi
    Nov 16, 2017
    20
    navicat 数据传输可行?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2119 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 148ms · UTC 03:17 · PVG 11:17 · LAX 19:17 · JFK 22:17
    ♥ Do have faith in what you're doing.