千万数据的表迁移到另一台数据库的服务器

今天对项目中的一个数据库进行了迁移,其中有一张表太大了,1000w+条数据,不死心的点了一下navicat的数据传输,看着不会动的0%默默关闭。

直接进入正题,我的需求是从阿里云ESC服务器安装的mysql导出,传入到阿里云RDS数据库:

1、备份数据库:

备份数据库库中某一张表:

mysqldump -h主机名 -P端口 -u用户名 -p密码 数据库名 表明 > 文件名

如:(mysqldump -h127.0.0.1 -P3306 -uroot -proot database test1 > /data/test1.sql)

其他语句拓展:

备份压缩

导出的数据有可能比较大,不好备份到远程,这时候就需要进行压缩mysqldump -h主机名 -P端口 -u用户名 -p密码 数据库名 | gzip > 文件名.sql.gz如: mysqldump -h127.0.0.1 -p 3306 -uroot -proot database | gzip > /data/database.sql.gz

备份同个库多个表

mysqldump -h主机名 -P端口 -u用户名 -p密码 数据库名 表1 表2 .... > 文件名.sql如: mysqldump -h127.0.0.1 -p3306 -uroot -proot database test1 test2 > /data/database _test1_test2.sql

同时备份多个库

mysqldump -h主机名 -P端口 -u用户名 -p密码 --databases 数据库名1 数据库名2 数据库名3 > 文件名.sql如:mysqldump -h127.0.0.1 -uroot -proot --databases db1 db2 db3 > /data/three_db.sql

备份数据库结构,不备份数据

mysqldump -h主机名 -P端口 -u用户名 -p密码 --no-data 数据库名1 数据库名2 数据库名3 > 文件名.sql如:mysqldump --no-data –databases db1 db2 db3> /data/nodata.sql

2、将sql文件导入目标数据库

先接入目标数据库

mysql -h 阿里云rds数据库内网连接 -u 用户名 -p 数据库名

然后输入密码,直接执行命令:

source /data/test1.sql (source命令执行刚才备份的sql文件就行了)

整个过程很快,千万数据就导完了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值