一个远程的主机,配置的数据库其中一张表单数据量已有 2 千万多,要迁到另一台阿里的数据库服务器中,该怎么办,昨天导一张 2 百万的数据表时,就是 50 万导一个文件这样出来的,这 2 千万…………我不得疯了啊,各位大神,行行好,搭把手把……呆滞中……
1
chenhidong 2017-11-15 09:04:16 +08:00
才 40 次.不慌
|
2
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 |
3
siyiye 2017-11-15 09:05:03 +08:00
直接下载数据库文件,复制粘贴.....
|
4
x7395759 2017-11-15 09:10:19 +08:00
直接用数据库的表文件导入导出,很方便的
|
5
FFLY 2017-11-15 09:11:11 +08:00
大数据量,我一般都是复制数据库文件,简单安全,导出 SQL 有时候会遇到一些坑。
|
6
goodryb 2017-11-15 09:12:25 +08:00 via iPhone
大兄弟啊,给你推荐个神器,阿里云数据传输服务 DTS,数据结构+全量数据+增量数据迁移,稳定高效,出门旅行……说错词了,自己去看看吧
|
7
binjjam 2017-11-15 09:12:31 +08:00
能停 MySQL 的话直接传文件呀
|
8
billgreen1 2017-11-15 09:23:13 +08:00
我知道一个 rsnyc 希望能对你有用
|
10
lastmayday 2017-11-15 09:51:43 +08:00
|
11
Outhwaite 2017-11-15 11:58:07 +08:00
学到了
|
12
neoblackcap 2017-11-15 14:29:12 +08:00
1. 可以导出了,然后 zip 压缩后用 rsync 传输
2. 弄 VPN,将现有环境与阿里云数据库网络环境打通,然后弄成主从。 |
13
aksoft 2017-11-15 16:21:00 +08:00
数据库文件,rsnyc
|
14
zhx1991 2017-11-15 17:27:17 +08:00
弄成主从是最方便的
|
15
shakoon 2017-11-15 17:35:05 +08:00
mysql 可以直接拷贝数据库文件的,直接压缩了拷走就是了。如果业务不能停止,那就建个一模一样的临时表,把临时表那几个文件打包走,再在目标服务器恢复。
|
16
likuku 2017-11-15 17:51:47 +08:00
现在普遍都是 innodb 了吧,直接复制数据库文件可不一定可行。假若新旧 mysql 版本一致,架构平台一致,或许还值得一试。
能停机 /离线,那么再多也不是事。写入 SSD 硬盘,mysqldump 禁用 quick (不耗内存,便于长时间导出的稳定)。 |
17
findex 2017-11-15 18:27:49 +08:00
有如下 3 种操作方案(思路)
1、mysqldump 这里用 unix pip (加 zip 压缩) 远程在线出表到本地服务器,这样可以减少远程服务器 SSD 硬盘写入损耗 2、使用 mysqlworkbencn 工具远程可视化 dump 表 3、说的 rsync 也是一套方案。不过对信息增量不友好,因为到时候业务没有停止的时候,你还要手动 dump 一遍,rsync 一遍。 楼上说的主从挺有意思的。可行。这样既不会影响业务,又不会损失数据。从机只做备份即可。这样虽然能保证数据安全,但是效率往下降一倍。如果你要做数据分析的话,这样安全,但是费事。 dts 没用过,你可以试试 |
18
tydl 2017-11-15 19:15:15 +08:00
我都是这样操作。
1、停止 mysql 2、对数据库文件夹进行压缩。 3、复制粘贴。 导来导去多麻烦啊。 |
19
msg7086 2017-11-16 06:09:20 +08:00
主从 downtime 比较低。
直接复制整个 /var/lib/mysql 也可以,记得两边停掉服务再复制。 |
20
woscaizi 2017-11-16 11:10:27 +08:00
navicat 数据传输可行?
|