两台服务器之间快速同步大表数据

本文详细介绍了如何使用mysqldump工具生成SQL文件,然后通过压缩、传输和解压,将数据库表从一台服务器迁移到另一台服务器。过程包括生成SQL、压缩文件、使用SCP传输、在目标服务器解压并导入数据。此外,还提供了在遇到问题时使用绝对路径执行mysqldump的解决方案,以及整个数据库的同步步骤。
摘要由CSDN通过智能技术生成

一、利用mysqldump方式生成sql文件

mysqldump -t dbname -u root -proot --tables table >table.sql

说明:-t后面的dbname是库名,–tables后面是要同步的表名,>table.sql的意思是会在当前目录下生成table.sql文件

二、压缩table.sql

zip -r table.zip table.sql

说明:table.zip是要压缩成的文件名,table.sql是指要被压缩文件,之所以要压缩是因为不压缩的话文件很大,在两台服务器之间传输时间太长

三、从当前服务器传输到目标服务器指定目录下

scp -P port table.zip root@xxx.xx.xxx.xx:/usr/data/

说明:目标服务器是指数据库所在的服务器,-P后面接对应的端口号,xxx.xx.xxx.xx是目标数据库所在的服务器,/usr/data是指要保存到目标服务器的这个目录下

输入上面的命令后,会让我们输入目标服务器的密码,我们从群文件中找到对应的密码,复制,然后到要输入密码的地方,直接右键就可以了(右键后,看不到粘贴的内容,但已经粘贴好了),然后回车即可开始传输

四、解压文件

unzip table.zip

说明:由于我们同步过来的是压缩文件,因此需要解压

五、在目标服务器登录mysql并选择指定库

1) mysql -uroot -proot

2) use dbname

说明:用上面的命令1)即可登录mysql。用2)即可选择对应的库

六、导入数据

source table.sql

说明:通过上面的命令即可开始向指定表中插入商品信息,速度还是很快的

---------------------------------------------------------------------------------------------------------------------------------上面是同步某张大表的办法,下面是一下子把整个数据库进行同步

有的服务器上在执行mysqldump命令的时候不成功,这时我们要考虑使用绝对路径来执行

1、/usr/bin/mysqldump --set-gtid-purged=OFF -u root -proot dbname > dbname-back.sql

2、由于可能sql文件很大,因此要对文件进行压缩,压缩命令为:zip -r dbname-back.zip dbname-back.sql

3、在我们本地数据库中先创建一个空库,名字由我们自己来定,比如这里我用test

4、将第2步压缩的文件下载我们windows系统某个目录下

5、将压缩文件进行解压缩

6、在cmd命令窗口中,先登录mysql,mysql -uroot -proot即可登录

7、登录后使用我们新建的库use test

8、最后使用source dbname-back.sql来执行插入数据操作

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值