mysql数据库自动备份

备份到本机

创建备份目录

mkdir mysqldatabackup

创建脚本

创建执行备份脚本vi mysqldatabackup.sh

#!/bin/bash
mysqldump -uroot -pwzax123 qhds | gzip > /home/mysqldatabackup/qhds_$(date +%Y%m%d_%H%M%S).sql.gz

创建执行删除脚本vi deldatabackup.sh

#!/bin/sh
find /home/mysqldatabackup/ -mtime +30 -name "*.gz" -exec rm -rf {} \;

然后将其赋予执行权限,运行脚本测试一下。看一下备份的文件有多大,如果非常小的话就是没有成功,多半是数据库账号的问题。

加入定时任务

输入命令:crontab -e

输入定时执行命令:

23 23 * * * /root/cs/mysqldatabackup.sh
23 23 * * * /root/cs/deldatabackup.sh

备份到其他机器

在两台mysql服务器不建立主从关系前提下实现一台数据库自动同步另一台数据库数据,方法是:一台数据库每天自动备份,并将备份文件拷贝至备份机服务器。两台机器为centos系统,需要用到scp命令,如果提示命令不存在需要安装一下:yum -y install openssh-clients 然后用命令进行拷贝,命令格式为:scp /root/testcp root@192.168.2.17:/root/scp root@192.168.2.16:/root/testcp1 /root/然后根据提示输入即可。testcp和testcp1为目标文件,root均为远程用户名。如果不想输入密码,则采用公钥/私钥认证的方式去掉密码登陆。先进入输入scp命令的主目录的机器然后:

cd ~/.ssh
ssh-keygen -t rsa

再将生成的文件id_rsa.pub拷贝至另一台服务器对应目录,然后:cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys并将新生成的文件设置权限为600即可。

posted @ 2018-07-16 09:51  陈帅丶  阅读(160)  评论(0编辑  收藏  举报