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

2017-11-15 09:00:31 +08:00
 Number13

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

4265 次点击
所在节点    程序员
20 条回复
chenhidong
2017-11-15 09:04:16 +08:00
才 40 次.不慌
mchl
2017-11-15 09:04:19 +08:00
2 千万不算多,不要怕

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

传输前用 zip 压缩一下

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

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

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

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

导来导去多麻烦啊。
msg7086
2017-11-16 06:09:20 +08:00
主从 downtime 比较低。
直接复制整个 /var/lib/mysql 也可以,记得两边停掉服务再复制。
woscaizi
2017-11-16 11:10:27 +08:00
navicat 数据传输可行?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/406474

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX