小结:5.二进制日志(bin log)
通常情况下,管理员不需要查看错误日志。但是,MySQL服务器发生非常时,管理员可以从错误日志中找到发生非常的时间、原因,然后根据这些信息来办理非常。
如果想要记载所有语句(例如,为了识别有问题的查询),需要使用通用查询日志。binlog主要应用场景:
提示:设置带文件夹的bin-log日志存放目录
- log-bin=mysql-bin #打开日志(主机需要打开),这个mysql-bin也可以自定义,这里也可以加上路径,
如: /home/www/mysql_bin_log/mysql-bin
- binlog_expire_logs_seconds:此参数控制二进制日志文件保存的时长,单位是秒,默认2592000 30天--14400 4小时;86400 1天;259200 3天;
- max_binlog_size:控制单个二进制日志大小,当前日志文件大小超过此变量时,实行切换动作。此参数的最大和默认值是1GB,该设置并不能严格控制Binlog的大小,尤其是Binlog比力靠近最大值而又碰到一个比力大事件时,为了包管事件的完整性,大概不做切换日志的动作,只能将该事件的所有SQL都记载进当前日志,直到事件结束。一样平常情况下可采取默认值。
提醒数据库文件,和binlog文件最好不要放在一起,磁盘损坏(概率很低)的时间,还能有个数据规复。方式2:临时性方式
注意:使用mysqlbinlog命令进行规复操纵时,必须是编号小的先规复,例如x.000001必须在x.000002之前规复。
write和fsync的时机,可以由参数sync_binlog控制。为0的时间,表示每次提交事件都只write,由系统自行判断什么时间实行fsync。固然性能得到提拔,但是机器宕机,page cache内里的binglog 会丢失。如下图:
- 上图的write,是指把日志写入到文件系统的page cache,并没有把数据持久化到磁盘,所以速度比力快
- 上图的fsync,才是将数据持久化到磁盘的操纵
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) | Powered by Discuz! X3.4 |