sync_binlog=1 ;如果开启mysql每次在提交事务前会将二进制日志同步到磁盘上,保证崩溃时不会丢失事件。关闭少做工作,不当主库的备库无需设置。只适用于二进制日志。
innoDB 参数
innodb_flush_logs_at_trx_commit ;默认值1的意思是每一次事务提交或事务外的指令都需要把日志写入(flush)硬盘,这是很费时的。特别是使用电 池供电缓存(Battery backed up cache)时。设成2对于很多运用,特别是从MyISAM表转过来的是可以的,它的意思是不写入硬盘而是写入系统缓存。日志仍然会每秒flush到硬 盘,所以你一般不会丢失超过1-2秒的更新。设成0会更快一点,但安全方面比较差,即使MySQL挂了也可能会丢失事务的数据。而值2只会在整个操作系统 挂了时才可能丢数据。
innodb_support_xa=1;xa事物
innodb_safe_binlog;大致相当于innodb_support_xa;
明确制定二进制文件位置及名称,以后后患。
log_bin=/var/lib/mysql/mysql-bin;
备库同样需要配置
relay_log=/path/to/logs/relay-bin
skip_slave_start ;阻止备库崩溃后自动启动复制。
read_only;
备库仍然可能在崩溃后被中断,因为master.info和中继日志都不是崩溃安全的。