本编主要是给大家讲述下数据库备份相关知识,我们的备份服务器为192.168.42.15,数据库服务器为192.168.42.101,采用默认的mysqldump工具进行备份。首先是登录数据库服务器,用root用户登录:

登录后创建专门备份的备份用户bakuser:

这里需要注意下,第二条mysql命令中,相应的select等权限为通常备份需要的权限,对于备份来说应该足够了,千万不要授予all priviliges,授权dbname填写你需要备份的数据库即可,如果有多个数据库要备份,就写成通配符*号。创建用户使用的密码用你们自己的复杂密码,不要使用yourpasswd。

在相应的备份服务器192.168.42.15中,创建一个备份脚本db101bak.sh,内容如下:

此备份的shell脚本中,我们使用linux版本的rar进行了备份,并没有使用系统默认的tar进行备份,主要是因为rar的自带恢复信息的功能很好,免除了使用第三方软件,创建恢复卷信息的麻烦,另外,rar5格式自带的加密也比较好用,免除了使用openssl加密的麻烦,另外,如果要恢复数据,rar在pc上基本都会有,可以让普通用户,也能自己恢复数据。RAR的相关使用参考前面的文章

最后for循环中,可以一次备份多个文件,如果你要备份dbname1,dbname2,dbname3三个数据库,直接写成for db in dbname1 dbname2 dbname3这类样式即可,网络备份免去了数据库本地备份后在scp或者rsync的麻烦,在公司内网环境下,也是比较安全的,mysql密码默认好像是sha256 hash出来的(这点待核实),即使内网有人抓包,要暴力破解相应的密码,在绝大部分公司应该也是不可能的。

我们把脚本设置成可执行:

最后就是建立备份的计划任务输入:

输入如下内容:

这样的话,在每个周六的0点,就把本周的内容备份完毕了,生成的文件格式按照脚本中的写法,应该是类似这样的,dbname-2016-12-12.rar这样的命名方式。

网络备份MySQL数据库
Tagged on:             

发表评论

电子邮件地址不会被公开。 必填项已用*标注