二进制日志(BINLOG)记录了所有的 DDL(数据定义语言)语句和 DML(数据操纵语言)语句,但是不包括数据查询语句。此日志对于灾难时的数据恢复起着极其重要的作用,MySQL的主从复制, 就是通过该binlog实现的。
二进制日志,默认情况下是没有开启的,需要到MySQL的配置文件中开启,并配置MySQL日志的格式。
配置文件位置 : /usr/my.cnf 或者/etc/my.cnf
日志存放位置 : 配置时,给定了文件名但是没有指定路径,日志默认写入Mysql的数据目录。
1、登录mysql之后使用下面的命令查看是否开启binlog
show variables like 'log_%';
博主系统上是之前已经开启过的,如果没开启会显示OFF
2、编辑配置文件
vi /etc/my.cnf 或者 vi /usr/my.cnf
3、加入以下内容
server_id=2 | 防止服务报code冲突 |
log_bin = mysql_bin | 配置开启binlog日志, 日志的文件前缀为 mysqlbin |
binlog_format = ROW | 配置二进制日志的格式 |
expire_logs_days = 30 | 日志存活时间 |
4、重启mysql服务
systemctl restart mysqld
5、再次使用命令show variables like 'log_%';进行查看,为ON表明binlog开启
6、binlog日志文件存放路径为
/var/lib/mysql
7、再该路径下会生成mysql-bin.000001 mysql-bin.000002这样的文件