MySQL备份一般采取全库备份加日志备份的方式,例如每天执行一次全备份,每小时执行一次二进制日志备 份。这样在MySQL故障后可以使用全备份和日志备份将数据恢复到最后一个二进制日志备份前的任意位置或时 间。
mysql的二进制日志记录着该数据库的所有增删改的操作日志(前提是要在自己的服务器上开启binlog),还包括 了这些操作的执行时间。为了显示这些二进制内容,我们可以使用mysqlbinlog命令来查看。 Binlog的用途 1. 主从同步 2. 恢复数据
开启binary log功能 通过编辑my.cnf中的log-bin选项可以开启二进制日志;形式如下: log-bin [=DIR/[filename]](配置文件中只写log_bin不写后面的文件名和路径时,默认存放在/usr/local/mysql/data目录 下,文件名为主机名-bin.000001…命名) 其中,DIR参数指定二进制文件的存储路径;filename参数指定二级 制文件的文件名,其形式为filename.number,number的形式为000001、000002等。每次重启mysql服务或运 行mysql> flush logs;都会生成一个新的二进制日志文件,这些日志文件的number会不断地递增。除了生成上述 的文件外还会生成一个名为filename.index的文件。这个文件中存储所有二进制日志文件的清单又称为二进制文 件的索引 配置保存以后重启mysql的服务器,用mysql> show variables like 'log_bin';查看bin-log是否开启,如 图: 查看产生的binary log 注:查看binlog内容是为了恢复数据 bin-log因为是二进制文件,不能通过文件内容查看 命令直接打开查看,mysql提供两种方式查看方式,在介绍之前,我们先对数据库进行一下增删改的操作,否 则log里边数据有点空。重新开始一个新的日志文件
查看MySQL Server上的二进制日志
查看二进制日志信息的命令:
语法格式:SHOW BINLOG EVENTS[IN 'log_name'] [FROM pos] [LIMIT [offset,] row_count] 查看二进制日 志中的事件
默认显示可找到的第一个二进制日志文件中的事件,包含了日志文件名、事件的开始位置、事件类型、结束位 置、信息等内容
+------------------+------+----------------+-----------+-------------+------------
----------------------------------------------------------------------+
| Log_name | Pos | Event_type | Server_id | End_log_pos | Info
|
+------------------+------+----------------+-----------+-------------+