在管理mysql,初始化服务器、复制和备份/还原,跨网络的大文件传输是很常见的操作。
1、基本的操作
● 压缩大文件
● 发送到另一台服务器上
● 解压大文件
● 校验文件的完整性,是否有损坏
2、具体的操作 :
(1)一般的步骤(scp
server1:
gzip -c /backup/mysql/mytable.MYD > mytable.MYD.gz
scp mytable.MYD.gz root@server2: /var/lib/mysql/
server2:
gunzip /var/lib/mysql/mytable.MYD.gz
特点-
scp传输速度较慢,但保证了传输的安全性,而这些操作大量的对磁盘进行读写,使传输的效率不高。
(2)管道传输(ssh)
gzip -c mytable.MYD | ssh root@192.168.1.110"gunzip -c - > /var/lib/mysql/mytable.MYD"
特点-
比上一种降低了磁盘的I/O,使传输效率有所提高。
(3)数据流重定向传输(nc)
原理:在目的服务器中开启一个监听的端口,源端口会将文件传输到目的服务器的监听端口中即可。
server1:
gzip -c - /var/lib/mysql/mytable.MYD |nc -q 1 server1 12345
server2:开启监听端口12345
nc -l -p 12345 |gunzip -c - >/var/lib/mysql/mytable.MYD
---------------------