Centos7 实现MySQL局域网备份
时间:2017-01-15 14:09 来源:blog.csdn.net 作者:king_eagle2015
数据库备份操作是非常重要的一步,针对上线系统来说,没有备份的数据库是不安全的。本博文通过查阅网上资料,实现了MySQL数据库通过shell脚本文件的全备份,增量备份和局域网内定时备份操作。
服务器介绍:centos 7.0
【本地全备份】
1. 单数据库备份脚本文件
#vi mysql-backup.sh
2. 保留7天历史数据的全备份
3. 修改shell脚本权限并执行
# chmod 700 mysql-backup.sh // 只允许管理员运行此脚本
#./mysql-backup.sh //执行脚本,测试一次
【日志文件增量备份】
1. 建立脚本文件:
#vi incre-backup.sh
2. 修改文件权限并执行
# chmod 700 incre-backup.sh // 只允许管理员运行此脚本
#./mysql-backup.sh //执行脚本,测试一次
【自动备份】
自动备份是站在以上编写脚本的基础上,利用linux系统crontab命令,定时自动执行shell文件:
# crontab –e
添加:
00 01 * * */mysql-backup.sh // 每天凌晨1点执行
【远程局域网备份】
局域网备份利用NFS服务器实现数据在局域网共享的方式实现备份,利用在NFS服务器挂载的方式实现,就像我们平时共享文件,通过配置网络连接,让自己的文件得到共享。实现方式如下:
1. NFS服务器端安装
a)安装 NFS 服务器所需的软件包:
# yuminstall -y nfs-utils
b)编辑exports文件
#vim/etc/exports
#/home/nfs/192.168.248.0/24(rw,sync)
同192.168.248.0/24一个网络号的主机可以挂载NFS服务器上的/home/nfs/目录到自己的文件系统中
rw表示可读写;sync表示同步写
c)启动nfs服务
#systemctlstart rpcbind.service
#systemctlstart nfs-server.service
d)确认NFS服务器启动成功:
#rpcinfo –p
e)若没有启动成功,重新启动rpcbind和nfs-server服务:
#systemctl restart rpcbind.service
#systemctl restart nfs-server.service
客户端安装
a)安装nfs,启动rpcbind服务
# yuminstall -y nfs-utils
b)先为rpcbind做开机启动
#systemctlenable rpcbind.service
c)然后启动rpcbind服务:
systemctlstart rpcbind.service
d)检查NFS服务器端是否有共享目录:
#showmount -e 192.168.64.138
e)在从机上使用mount挂载服务器端目录到客户端某个目录下(这里将上面本地备份的文件路径挂载如服务器里面):
#mount -tnfs -o nolock,nfsvers=1,vers=3 192.168.64.138:/home/nfs /backup
问题:mount.nfs: Stale NFS file handle
解决方法:在client端把挂载文档去掉重新挂载:
# umount –a
【备份恢复】
a.将gzip数据库恢复到Mysq
#gunzip <dbname.gz | mysql -u Username -p dbname
b.二进制文件恢复数据库:
#/mysql/bin/mysqlbinlog--database=fox --start-date="2013-01-22 5:00:00" --stop-date="2013-01-22 9:00:00"/mysql/data/mysql-bin.000001 | /mysql/bin/mysql -u root -p123456 –f
database:指定具体的数据库
start-date:开始时间
stop-date:结束时间
/mysql/data/mysql-bin.000001:指定二进制文件
【总结】
基本的备份方法已经完成,但是我们要根据具体的应用场景采用不同的备份策略,保证安全的前提下又不消耗过多内存。
(责任编辑:IT)
数据库备份操作是非常重要的一步,针对上线系统来说,没有备份的数据库是不安全的。本博文通过查阅网上资料,实现了MySQL数据库通过shell脚本文件的全备份,增量备份和局域网内定时备份操作。
服务器介绍:centos 7.0
【本地全备份】
1. 单数据库备份脚本文件
#vi mysql-backup.sh
2. 保留7天历史数据的全备份
3. 修改shell脚本权限并执行
# chmod 700 mysql-backup.sh // 只允许管理员运行此脚本 #./mysql-backup.sh //执行脚本,测试一次
【日志文件增量备份】
1. 建立脚本文件: #vi incre-backup.sh
2. 修改文件权限并执行
# chmod 700 incre-backup.sh // 只允许管理员运行此脚本 #./mysql-backup.sh //执行脚本,测试一次
【自动备份】
自动备份是站在以上编写脚本的基础上,利用linux系统crontab命令,定时自动执行shell文件:
# crontab –e 添加: 00 01 * * */mysql-backup.sh // 每天凌晨1点执行
【远程局域网备份】
局域网备份利用NFS服务器实现数据在局域网共享的方式实现备份,利用在NFS服务器挂载的方式实现,就像我们平时共享文件,通过配置网络连接,让自己的文件得到共享。实现方式如下:
1. NFS服务器端安装
a)安装 NFS 服务器所需的软件包: # yuminstall -y nfs-utils
b)编辑exports文件 #vim/etc/exports #/home/nfs/192.168.248.0/24(rw,sync)
同192.168.248.0/24一个网络号的主机可以挂载NFS服务器上的/home/nfs/目录到自己的文件系统中 rw表示可读写;sync表示同步写
c)启动nfs服务 #systemctlstart rpcbind.service #systemctlstart nfs-server.service
d)确认NFS服务器启动成功: #rpcinfo –p
e)若没有启动成功,重新启动rpcbind和nfs-server服务: #systemctl restart rpcbind.service #systemctl restart nfs-server.service
客户端安装
a)安装nfs,启动rpcbind服务 # yuminstall -y nfs-utils
b)先为rpcbind做开机启动 #systemctlenable rpcbind.service
c)然后启动rpcbind服务: systemctlstart rpcbind.service
d)检查NFS服务器端是否有共享目录: #showmount -e 192.168.64.138
e)在从机上使用mount挂载服务器端目录到客户端某个目录下(这里将上面本地备份的文件路径挂载如服务器里面): #mount -tnfs -o nolock,nfsvers=1,vers=3 192.168.64.138:/home/nfs /backup
问题:mount.nfs: Stale NFS file handle 解决方法:在client端把挂载文档去掉重新挂载: # umount –a
【备份恢复】
a.将gzip数据库恢复到Mysq #gunzip <dbname.gz | mysql -u Username -p dbname
b.二进制文件恢复数据库: #/mysql/bin/mysqlbinlog--database=fox --start-date="2013-01-22 5:00:00" --stop-date="2013-01-22 9:00:00"/mysql/data/mysql-bin.000001 | /mysql/bin/mysql -u root -p123456 –f
database:指定具体的数据库 start-date:开始时间 stop-date:结束时间 /mysql/data/mysql-bin.000001:指定二进制文件
【总结】
基本的备份方法已经完成,但是我们要根据具体的应用场景采用不同的备份策略,保证安全的前提下又不消耗过多内存。 (责任编辑:IT) |