编辑/etc/my.cnf文件添加在[mysqld]版块下添加如下变量,添加后重启服务。
#开启,并且可以将mysql-bin改为其它的日志名
log-bin=mysql-bin
#添加id号,如果做主从,就不能一样
server-id=1
#超过200M将生产新的文件,最大和默认值是1GB
max_binlog_size=1G
#此参数表示binlog使用最大内存的数,默认1M。
max_binlog_cache_size=1M
#此参数表示binlog日志保留的时间,默认单位是天。
expire_logs_days=7
也可以用如下方式动态更改全局变量,连接mysql服务器后配置,不用重启服务器。
set GLOBAL expire_logs_days=7;
注意:设置之后并不会立即执行,需要如下条件 手动执行flush logs(注意,如果binlog文件过多会引发IO问题,并且flush 也不会同步到从库) 重新启动时(MySQL将会new一个新文件用于记录binlog)
xbak-all.sh,对变量和命令部分进行配置
#!/bin/bash
#全量备份,只备份一次
#备份目录,目录不存在会自动创建
backup_dir="/bak/mysql-xback"
#检查
[[
-d ${backup_dir}
]]
|| mkdir -p ${backup_dir}
if
[[
-d ${backup_dir}/all-backup ]];then
echo "全备份已存在"
exit 1
fi
#命令,要填写备份用的账号和密码
innobackupex --defaults-file=/etc/my.cnf --user=back --password='123456'
--no-timestamp ${backup_dir}/all-backup &>
/tmp/mysql-backup.log
tail -n 1
/tmp/mysql-backup.log | grep 'completed OK!'
if
[[ $?
-eq 0
]];then
echo "all-backup"
>
/tmp/mysql-backup.txt
else
echo "备份失败"
exit 1
fi
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。