数据库备份、数据库容灾,开启binlog
开启数据库定时备份
-
创建备份目录
-
创建备份的shell脚本
把databaseName换成自己的数据库名
输入以下内容
对备份进行压缩:
把 username 替换为实际的用户名;
把 password 替换为实际的密码;
把 databaseName 替换为实际的数据库名;
-
添加可执行权限
添加可执行权限之后先执行一下,看看脚本有没有错误,能不能正常使用;
./databaseName.sh
-
添加计划任务
输入以下内容
这是core表达式,代表每一分钟执行一次,每一个*依次代表分钟、小时、日期、月份、星期几
-
测试任务是否执行
也可以去对应的文件夹目录下查看有没有生成对应的sql文件
开启binlog
- 查看binlog是否开启的命令:
on代表开启了,off表示还未开启
-
修改配置文件
在mysqld下面新增
binlog-format
: 指定 binlog 的记录格式。常用的有三种:ROW
: 记录每一行的数据变化,数据恢复更精确。STATEMENT
: 记录每一条 SQL 语句,节省空间,但可能有精度问题。MIXED
: 自动在ROW
和STATEMENT
之间切换,基于上下文。
-
重启MySQL
-
再次查看binlog是否开启,ON表示已开启
-
binlog默认存放的位置
一般存放在/var/lib/mysql下
mysql-bin.000001
:
- 这是一个实际的二进制日志文件。
- 文件名中的
.000001
部分是文件的序号,随着新日志文件的创建,这个序号会递增。 - 二进制日志文件保存了数据库变更的详细信息,可以用于数据恢复、数据复制等。
mysql-bin.index
:
- 这是一个索引文件,列出了当前所有的二进制日志文件。
- 每当创建新的 binlog 文件时,MySQL 会更新这个索引文件。