binlog
mysql二进制日志
记录对数据发生或潜在发生更改的SQL语句,以二进制的形式保存在磁盘中
文件位置:默认存放位置为数据库文件所在的目录下
文件命名方式:名称为 hostname-bin.xxxxx
重启mysql将会自动生成一个新的binlog
状态查看:
mysql> show variables like '%log_bin%'
log_bin ON 表示已开启二进制日志
二进制日志管理
1、开启二进制日志配置
方法一、修改my.cnf参数文件,该方法需要重启
log-bin = mysql-bin (打开日志)
mysql-bin也可以加上路径 如 /home/www/mysql_bin/mysql-bin
关闭二进制方法,注释掉log-bin
方法二、不重启修改二进制日志配置,该方法mysql版本需要5.6以上
SET @@global.log+bin=1|0 (1为开启0为关闭)
SET @@global.binlog_size=37268(单位为bytes)
暂停二进制日志
SET sql_log_bin={0|1}
修改二进制日志的大小
修改my.cnf参数文件中的max_binlog_size的值
如果二进制文件大小超过了max_binlog_size的值就自动创建新的二进制文件
手动切换二进制日志,默认情况下二进制日志写满了或者数据库重启了才会进行切换,但是也可以手工的进行切换
mysql> flush logs;
2、其他参数
binlog-cache-size=100m设置二进制日志缓存大小
sync-binlog=N(每N秒将缓存中的二进制日志记录写回硬盘,默认值为0)
不过,你经常会陷入group commit函数与I/O之间二选一的矛盾。
如果在replication环境中,由于考虑到耐久性与一致性,则需要设置1。
同时,还需要设置innodb_flush_log_at_trx_commit=1以及innodb-support-xa=1默认开启;
binlog不能直接用文本的方式打开,mysql提供了相应的查看工具:mysqlbinlog
直接查看单个二进制文件:mysqlbinlog filename
mysql二进制日志
记录对数据发生或潜在发生更改的SQL语句,以二进制的形式保存在磁盘中
文件位置:默认存放位置为数据库文件所在的目录下
文件命名方式:名称为 hostname-bin.xxxxx
重启mysql将会自动生成一个新的binlog
状态查看:
mysql> show variables like '%log_bin%'
log_bin ON 表示已开启二进制日志
二进制日志管理
1、开启二进制日志配置
方法一、修改my.cnf参数文件,该方法需要重启
log-bin = mysql-bin (打开日志)
mysql-bin也可以加上路径 如 /home/www/mysql_bin/mysql-bin
关闭二进制方法,注释掉log-bin
方法二、不重启修改二进制日志配置,该方法mysql版本需要5.6以上
SET @@global.log+bin=1|0 (1为开启0为关闭)
SET @@global.binlog_size=37268(单位为bytes)
暂停二进制日志
SET sql_log_bin={0|1}
修改二进制日志的大小
修改my.cnf参数文件中的max_binlog_size的值
如果二进制文件大小超过了max_binlog_size的值就自动创建新的二进制文件
手动切换二进制日志,默认情况下二进制日志写满了或者数据库重启了才会进行切换,但是也可以手工的进行切换
mysql> flush logs;
2、其他参数
binlog-cache-size=100m设置二进制日志缓存大小
sync-binlog=N(每N秒将缓存中的二进制日志记录写回硬盘,默认值为0)
不过,你经常会陷入group commit函数与I/O之间二选一的矛盾。
如果在replication环境中,由于考虑到耐久性与一致性,则需要设置1。
同时,还需要设置innodb_flush_log_at_trx_commit=1以及innodb-support-xa=1默认开启;
binlog不能直接用文本的方式打开,mysql提供了相应的查看工具:mysqlbinlog
直接查看单个二进制文件:mysqlbinlog filename