2. MariaDB激活二进制日志
翻译人员: 铁锚
翻译时间: 2013年12月25日
原文地址: Activating the Binary Log
参考了: 《高可用MySQL 构建健壮的数据中心》
要启用二进制日志功能,可以使用 "--log-bin[=name]"选项来启动服务器.
如果文件名中包含了后缀(例如 "--log-bin[=master-bin.log]"),则后缀(".log")将会被忽略.
如果没有指定文件名,默认使用 datadir/log-basename-bin, datadir/mysql-bin 或者 datadir/mariadb-bin(如果也没有 --log-basename
选项,根据server版本的不同,会使用后两个中的一个);
datadir 是存放数据(data)的目录,由系统变量 datadir 定义.(启动参数 --datadir=path 或者
-h path);
强烈建议: 使用 --log-basename 或者指定二进制日志的文件名,以便服务器的hostname改变以后也不影响复制(replication );
存储二进制日志的目录,用于存放 各个独立的二进制日志文件,以及对这些文件的二进制日志索引(文件).
二进制日志文件的扩展名是一序列的数字.每增加一个日志文件,扩展名的数字就会增加;所以较老的日志的扩展名数字较小,最近的日志的扩展名数字最大。
每次服务器启动,就会启用一个新的二进制日志,当然扩展名也是新的;启动或停止时日志会被强制写入物理文件(平时可能存储在内存缓存中,由操作系统决定何时写入).也可以通过定义
max_binlog_size 变量来指定一个数字,当日志累增到此值就会强制写入硬盘.
二进制日志索引文件按顺序储存着所有的二进制日志文件的索引.
datadir下的文件列表示例如下:
shell> ls -l total 100 ... -rw-rw---- 1 mysql adm 2098 Apr 19 00:46 mariadb-bin.000079 -rw-rw---- 1 mysql adm 332 Apr 19 00:56 mariadb-bin.000080 -rw-rw---- 1 mysql adm 347 Apr 19 07:36 mariadb-bin.000081 -rw-rw---- 1 mysql adm 306 Apr 20 07:15 mariadb-bin.000082 -rw-rw---- 1 mysql adm 332 Apr 20 07:41 mariadb-bin.000083 -rw-rw---- 1 mysql adm 373 Apr 21 07:56 mariadb-bin.000084 -rw-rw---- 1 mysql adm 347 Apr 21 09:09 mariadb-bin.000085 -rw-rw---- 1 mysql adm 398 Apr 21 21:24 mariadb-bin.000086 -rw-rw---- 1 mysql adm 816 Apr 21 17:05 mariadb-bin.index
二进制日志index文件的名字部分默认与其他的二进制日志文件相同,而扩展名使用".index",当然,index文件的名字也可以通过"
--log-bin-index[=filename] " 选项来单独指定.
具有 SUPER 权限的客户端,可以通过设置 sql_log_bin 变量,来为此次会话禁用或者再次启用二进制日志;
(sql_log_bin 是一个session变量,默认值是1,只有具有 SUPER 权限的客户端可以设置;设置为 0 则此客户端的的操作将不记入二进制日志;)
示例如下:
MariaDB [test]> SET sql_log_bin = 0; MariaDB [test]> SET sql_log_bin = 1;
二进制日志的格式
二进制日志有三种格式:
默认是 基于语句的日志(statement-based);
row-based是基于行的日志;
mix是可以混合前面两种日志的格式;
详情请参考: Binary Log Formats
MariaDB服务器所有的配置选项参见: mysqld Options (full list)
MariaDB服务器系统变量参见: Server System Variables
2. MariaDB激活二进制日志的更多相关文章
- MySQL和Mariadb二进制日志binlog详解
Mariadb/mysql提供了4中不同的日志,分别是错误日志(error.log).普通日志(general log).慢日志(slow log)以及二进制日志(binlog).错误日志记录了系统启 ...
- mysql错误日志/var/log/mariadb/mariadb.log,二进制日志
mariadb-日志 IT_luo关注0人评论65人阅读2018-10-15 08:59:03 mariadb日志 mariadb日志: 1.查询日志:query log: 2.慢查询日志:slo ...
- 浅析MySQL基于ROW格式的二进制日志
上文分析的二进制日志实际上是基于STATEMENT格式的,下面我们来看看基于ROW格式的二进制日志,毕竟,两者对应的binlog事件类型也不一样,同时,很多童鞋反映基于ROW格式的二进制日志无法查到原 ...
- 浅析MySQL二进制日志
查看MySQL二进制文件中的内容有两种方式 1. mysqlbinlog 2. SHOW BINLOG EVENTS [IN 'log_name'] [FROM pos] [LIMIT [offs ...
- MySQL二进制日志格式对复制的影响
复制的分类 基于SQL语句的复制 - SBR 主库二进制日志格式使用STATEMENT 在MySQL 5.1之前仅存在SBR模式, 又称之为逻辑复制. 主库记录CUD操作的SQL语句, 从库会读取并重 ...
- MariaDB 备份与日志管理(13)
MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可MariaDB的目的是完全兼容MySQL,包括API和命令行,MySQL由于现在闭源了,而能轻松成为MySQ ...
- mysql基础之日志管理(查询日志、慢查询日志、错误日志、二进制日志、中继日志、事务日志)
日志文件记录了MySQL数据库的各种类型的活动,MySQL数据库中常见的日志文件有 查询日志,慢查询日志,错误日志,二进制日志,中继日志 ,事务日志. 修改配置或者想要使配置永久生效需将内容写入配置文 ...
- 如何开启MySQL 5.7.12 的二进制日志
1. 打开/etc下的my.cnf文件 2. 编辑它,添加内容: log_bin=binary-log #二进制日志的文件名 server_id=1 #必须指定server_id,这是MySQL ...
- MySQL二进制日志
一.二进制日志(The Binary Log) 1.简介 包含所有更新了的数据或者已经潜在更新了的数据(比如一条没有匹配任何行的delete语句) 包含所有更新语句执行时间的信息 不记录没有修改数据的 ...
随机推荐
- 如何处理JS,css与smarty标签的冲突
smarty的默认标记符是大括号:{}, 假如我们页面上有JS且定义了函数或者对象,或者有CSS定义了样式,就会出现大括号, smary引擎就会把这些大括号当作smarty语法来解释, 很明显,这些C ...
- Android Studio精彩案例(七)《ToolBar使用详解<一>》
转载本专栏文章,请注明出处,尊重原创 .文章博客地址:道龙的博客 本文参考博客:http://blog.csdn.net/h_zhang/article/details/51232773 http:/ ...
- Gradle 1.12用户指南翻译——第五十三章. 签名插件
其他章节的翻译请参见:http://blog.csdn.net/column/details/gradle-translation.html翻译项目请关注Github上的地址:https://gith ...
- springMVC源码分析--ViewNameMethodReturnValueHandler返回值处理器(三)
之前两篇博客springMVC源码分析--HandlerMethodReturnValueHandler返回值解析器(一)和springMVC源码分析--HandlerMethodReturnValu ...
- springMVC源码--Controller控制器
springMVC给我们提供Controller控制器,用来实现我们的逻辑处理,在Controller接口中定义的方法也是比较简单的,如下: Controller接口及实现类:
- Android 6.0出现的init: cannot execve(‘XXX’):Permission denied问题:禁止SELINUX的权限设置
最近在开发MTK的相关项目,需要将一些可执行文件添加到init.rc文件里去,但是开机后发现,这个bin文件没有权限不能执行,于是我就在init.rc中对相应的bin文件增加了权限.后来发现,改了也没 ...
- Android图表库MPAndroidChart(十二)——来点不一样的,正负堆叠条形图
Android图表库MPAndroidChart(十二)--来点不一样的,正负堆叠条形图 接上篇,今天要说的,和上篇的类似,只是方向是有相反的两面,我们先看下效果 实际上这样就导致了我们的代码是比较类 ...
- 如何对n个大小都小于100的整数进行排序,要求时间复杂度O(n),空间复杂度O(1)。
提示:hash表 #include <iostream> using namespace std; #define N 100 #define RANGE 100 int* getRand ...
- java学习路线图-----java基础学习路线图(J2SE学习路线图)
安装JDK和开发软件跳过,网上太多了,不做总结,以下是我总结的学习路线图,欢迎补充. JAVA基础语法 注释,标识符命名规则及Java中的关键字 Java基本数据类型 Java运算符与表达式 Java ...
- 如何查看App provision profile文件中的钥匙链访问组名称
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 我们因为某些原因希望安全的在多个App中共享一些信息,我们可以 ...