一、配置 Mysql
-
配置 mysql 开启 binlog 日志
-
在 mysqld 节点下添加如下配置
例:log-bin = 存贮目录+名称
注意: 如果全过程使用的是Mysql用户,应该可以正常启动。
如果用的ROOT用户,可能不能正常启动,原因是新建的目录权限不对
使用chown mysql:mysql /home/mysql -R
命令修改就可以了:
二、安装 Rsync
rsync 使用所谓的 rsync 算法 进行数据同步,这种算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。无论本地同步目录还是远程同步数据,首次运行时将会把全部文件拷贝一次,以后再运行时将只拷贝有变化的文件(对于新文件)或文件的变化部分(对于原有文件)。rsync 在首次复制时没有速度优势,速度不如 tar,因此当数据量很大时您可以考虑先使用 tar 进行首次复制,然后再使用 rsync 进行数据同步。
- 使用
yum install -y rsync
安装 rsync - 编辑配置文件
注意:rsync 只使用一个配置文件就是 /etc/rsyncd.conf 这个文件一般是没有的,那就自己建一个好了。(客户端服务端都要安装)
配置文件内容如下:
uid=root # 进行备份的用户,nobody 为任何用户
gid=root # 进行备份的组,nobody 为任何用户组
use chroot=no
max connections=10 # 客户端链接数
Timeout=600 # 覆盖客户端超时时间,也就是说 rssync 不会永远的等待一个崩溃的客户端
pid file=/var/run/rsyncde.pid # pid的存放位置
lock file=/var/run/rsync.lock # 锁文件的存放位置
log file=/var/log/rsync.log # 日志文件的存放位置
host allow=192.168.19.33 # 允许的客户端ip
list=no # 不允许列清单
auth users =root # 系统用户
- 启动 rsync 服务
启动命令:
/usr/bin/rsync --daemon
查看是否启动:ps –ef | grep rsync
rsync 服务默认端口为873
- 与rsync服务器同步命令
- 客户端与服务端同步(拉取数据)
rsync -ave ssh root@192.168.204.131:/backup/ /test/ # 只更新新增文件
- 服务端同步数据到客户端(推送数据)
rsync –ave ssh --delete /test/ root@192.168.204.131:/backup/ # 删除服务端已删除的文件
- 客户端与服务端同步(拉取数据)
注意:若使用普通用户身份运行 rsync 命令,同步后的文件的属主将改变为这个普通用户身份。若使用超级用户身份运行 rsync 命令,同步后的文件的属主将保持原来的用户身份。
附:详情请点击 这里
- 同步命令是提示输入密码
- 将两台机器建立信任关系
在rsync客户端执行:
ssh-keygen
(往后直接敲回车就行)
ssh-copy-id -i ~/.ssh/id_rsa.pub192.168.200.10
(rsync服务器ip)
- 将两台机器建立信任关系
附:详情请点击 这里
- 自动跟新(增量备份 & 全量备份)
crontab –e
设置定时任务- 设置备份命令
*/3 * * * * rsync -aue ssh root@192.168.204.131:/data/mysqldb/binlog/ /back/ # 每三分钟执行一次,相同文件不进行覆盖(增量备份) 0 2 * * * /bin/sh /data/back.sh # (全量备份) 每天两点执行备份
- Rsync 参数介绍(部分)
-a 归档模式,表示以递归方式传输文件,并保持所有文件属性
-r 子目录递归
-u 相同文件不覆盖
-v 详细输出模式
三、注意事项
- Center OS 默认安装ssh ,其他系统请先检查是否安装。
- 检查rsync执行用户是否拥有对应文件夹读写等权限。
- 备份文件存放在/home/sqlback/