古城热线 发表于 2018-9-29 13:31:52

mysql 异地和本地备份方法

  mysql异地备份方法
  两台linux服务器,一台199.20.30.222(mysql服务器),一台199.20.30.226(与mysql互通的一台server)
  思路:mysql本地做一份备份;226Server做一份同步备份,脚本放在222上面,定时任务也设置在222上面。
  (1)mysql本地备份:
#!/bin/sh  
#mysql_backup
  
DATE=`date +%Y%m%d`
  
/opt/mysql/bin/mysqldump --opt jsweb -u root   > /opt/mysqlbackup/$DATE.sql
  (2)将本地备份同步到远端226上面:
#!/bin/bash  
#date:2013/09/24
  
#function:The script is used copying mysqlbackup to 226
  
DATE=`date +%Y%m%d`
  
scp /opt/mysqlbackup/$DATE.sql root@199.20.30.226:/data/2013backup/mysql/
  (3)222上面设置定时任务:
vim/etc/crontable OR crontable -e  
30 1***/bin/sh /home/jiaoben/backup.sh      ===============每天1:30执行
  
30 3***/bin/sh /home/jiaoben/scp.sh         ===============每天3:30执行
  注意:两个linux之间相互拷贝文件,使用scp工具必须输入远端密码,所以在进行(2)时,需要规避输入密码,否则自动备份到remote不会生效,
  本人采用的方法:使两个服务器互相信任,执行scp时,就可以免输入密码。
ssh-keygen -t rsa  
cd /root/.ssh/

  
scp>  
ssh root@199.20.30.226
  
mv /root/.ssh/id_isa_pub /root/.ssh/authorized_key
  时间过长备份的mysql就需要定时清理
  脚本如下所示
#!/bin/bash  
num='ls -al /opt/mysqlbackup/*.sql | wc -l'
  
if[ $num -gt 10];then
  find /opt/mysqlbackup -name *.sql -mtime +10 -exec rm -fr {}\;
  
fi
  亦或
find /opt/mysqlbackup/ -type f -name \*.sql -mtime +10 -exec rm -fr {} \;  
find /opt/mysqlbackup/ -type f -name "*.sql" -mtime +10 -exec rm -fr {} \;
  经过测试ok。
  mysql本地备份方法:
  1: 使用像Navicat for MySQL的工具直接备份,图形化很简单。
  2:命令行备份:
mysqldump -u root -p choeur>/home/choeur2014.sql  
mysqldump -h192.168.1.2 -uroot -p newjswebdb > /home/newjswebdb.sql
  


页: [1]
查看完整版本: mysql 异地和本地备份方法