阿里云内网文件传输总结

1、把同一帐号下的其他ECS服务器上的文件传输到本服务器

 

scp [email protected]:/var/lib/mysql/apiservice /data/mysql/

这命令的意思是:把IP为10.xx.xx.xx下的/var/lib/mysql/apiservice  拷贝到当前系统下的/data/mysql/下

直接执行上述命令是会报错的

错误信息如下:

 

[email protected]'s password: 
scp: /var/lib/mysql/apiservice: not a regular file


解决办法如下,加入 -r参数

 

 

 scp -r [email protected]:/var/lib/mysql/apiservice /data/mysql/

如果服务器端口号不是默认的22号端口,则还需要指定端口号

 scp -r -P 4600 [email protected]:/hotdata/kehu/jq-jiayou/jq-jiayou/data  /data/fn_code/jq-jiayou
 
  scp -r -P 4600 [email protected]:/hotdata/kehu/hui-you-you/config.inc.php  /data/fn_code/hui-you-you


2、远程链接刚刚拷贝过去的数据库看一下,发现,报错了。信息如下

 

 

 

mysql> show tables;
ERROR 1018 (HY000): Can't read dir of './apiservice/' (errno: 13 - Permission denied)


解决办法:

 

1)用 ll  命令查看数据库目录,发现拷贝过来的数据库所有者不是mysql

 

[root@hotdata mysql]# ll
total 122964
drwx------ 2 root  root      4096 Dec 16 19:09 apiservice
-rw-r----- 1 mysql mysql       56 Dec 11 21:49 auto.cnf

2、解决办法就是把所有者更改为mysql

 

 

[root@hotdata mysql]# chown -R mysql:mysql apiservice
[root@hotdata mysql]# ls
apiservice       ib_logfile0       mysqld_safe.pid
auto.cnf         ib_logfile1       performance_schema
ca-key.pem       ibtmp1            private_key.pem
ca.pem           log               public_key.pem
client-cert.pem  mysql             server-cert.pem
client-key.pem   mysql-bin.000001  server-key.pem
ib_buffer_pool   mysql-bin.000002  sys
ibdata1          mysql-bin.index
[root@hotdata mysql]# ll
total 122964
drwx------ 2 mysql mysql     4096 Dec 16 19:09 apiservice


这样就可以了

 

1)内网传文件可以参考下上述步骤,迁移mysql的话,还是要小心的,因为服务没有停止的情况下,是不停的有数据写入的,部分表迁移过去,可能会出现打不开,提示这张表不存在的情况。

 

2)通过内网传输文件,速度还是蛮快的,测试了下速度是60M/s以上。所以用来传输一些大文件还是蛮实用的

 

你可能感兴趣的:(Linux)