阿里云两个ECS服务器之前数据转移SCP(二)

发布时间:2016-08-12 17:25:11编辑:丝画阁阅读(824)

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


  1. scp root@10.45.177.154:/var/lib/mysql/apiservice /data/mysql/  

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

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

错误信息如下:


  1. root@10.45.177.154's password:   
  2. scp: /var/lib/mysql/apiservice: not a regular file  

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

  1. scp -r root@10.45.177.154:/var/lib/mysql/apiservice /data/mysql/  


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

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

解决办法:

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


  1. [root@hotdata mysql]# ll  
  2. total 122964  
  3. drwx------ 2 root  root      4096 Dec 16 19:09 apiservice  
  4. -rw-r----- 1 mysql mysql       56 Dec 11 21:49 auto.cnf  
2、解决办法就是把所有者更改为mysql

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

这样就可以了

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

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

关键字