mysql中如何开启binlog?开启二进制日志文件?binary log?
2023-09-11 14:14:16 时间
需求描述:
开启mysql的binlog即binary log日志功能,在此记录下.
版本描述:
- mysql版本:5.7.21-log
操作过程:
1.修改my.cnf并且将以下参数加入其中,重启mysql实例
server-id=11 #由于bug,所以需要设置该参数.否则无法启动mysql实例 log-bin = mysql-bin #其中mysql-bin代表的是basename就是生成二进制日志文件的前缀部分,默认的位置在datadir目录下,也可以设置为其他的路径
2.查看binlog相关系统参数值
mysql> show variables where variable_name in ('log_bin','log_bin_basename','log_bin_index'); +------------------+-----------------------------+ | Variable_name | Value | +------------------+-----------------------------+ | log_bin | ON | | log_bin_basename | /mysql/data/mysql-bin | | log_bin_index | /mysql/data/mysql-bin.index | +------------------+-----------------------------+ 3 rows in set (0.00 sec)
备注:在my.cnf中设置好log-bin之后,log_bin自动设置为ON,basename设置为mysql-bin,index文件也自动生成,index文件记录的就是所有的二进制文件的名称及位置信息.
3.查看生成的二进制文件在文件系统上的表现形式
[root@testvm data]# ls -ltr mysql-bin.* -rw-r----- 1 mysql mysql 154 Jul 25 11:17 mysql-bin.000001 -rw-r----- 1 mysql mysql 19 Jul 25 11:17 mysql-bin.index
备注:mysql-bin是设置的basename,点号后面的序号是自动生成的,启动时,自动生成第一个文件,当该文件写满的时候,会写2,然后3,依次类推.
4.查看index文件的内容
[root@testvm data]# cat mysql-bin.index #如果mysql-bin不在默认的路径,那么index文件中记录的就是绝对路径加文件名
./mysql-bin.000001
5.注意事项
在官方文档中,说启用binary log只是需要将log-bin=mysql-bin设置即可,但是因为有bug,所以必须要设置server-id否则启动不成功.
官方文档解释如下:
If you specify the --log-bin option without also specifying a --server-id, the server is not allowed to start. (Bug #11763963, Bug #56739)
6.如果my.cnf中log-bin不加basename
server-id=11
log-bin #后面不接basename
7.重启mysql实例,查看log-bin相关信息
mysql> show variables where variable_name in ('log_bin','log_bin_basename','log_bin_index'); +------------------+------------------------------+ | Variable_name | Value | +------------------+------------------------------+ | log_bin | ON | | log_bin_basename | /mysql/data/testvm-bin | | log_bin_index | /mysql/data/testvm-bin.index | +------------------+------------------------------+ 3 rows in set (0.01 sec)
备注:如果不加basename,那么就是主机名-bin,主机名-bin.index这样的命名方式.
文档创建时间:2018年7月19日15:06:57
相关文章
- mysql日志文件开启及详解:General_log 和 Binlog
- WebAPI调用笔记 ASP.NET CORE 学习之自定义异常处理 MySQL数据库查询优化建议 .NET操作XML文件之泛型集合的序列化与反序列化 Asp.Net Core 轻松学-多线程之Task快速上手 Asp.Net Core 轻松学-多线程之Task(补充)
- 【MySQL高级】Mysql并发参数调整及常用SQL技巧
- 【MySQL高级】Mysql的体系结构概览及存储引擎以及索引的使用
- MYSQL事务并发处理的问题:脏读、不可重复读、幻读
- [转]mysql写注释的几种方法
- mysql出现“ You can't specify target table '表名' for update in FROM clause”解决方法
- MySQL第四讲 MySql Undo日志 - 对聚簇索引进行CUD操作
- elasticsearch对比mysql以及使用工具同步mysql数据全量增量
- Mysql mysql lost connection to server during query 问题解决方法
- 【MySQL】如何向mysql数据库插入当前时间
- 四、MYSQL数据类型
- Mysql字段修饰符(约束)
- 《PHP、MySQL和Apache入门经典(第5版)》一2.9 小结
- 基于C#+MySQL实现(WinForm)停车场管理系统【100010066】
- [mysql]MySQL数据库如何导出
- python操作mysql数据库系列-操作MySql数据库(五)
- MySql:局域网和权限用户管理
- MySQL数据库服务器 主从配置
- mysql自定义函数与过程中写法的注意事项
- Mysql_mysql多个TimeStamp设置
- 面试必问的 MySQL,你懂了吗?
- 使用VS(C#) 对Mysql 进行操作
- (5.5)mysql高可用系列——MySQL半同步复制(实践)
- 【数据库学习】——Python实现mysql数据库SQL文件生成和导入
- MySQL与MongoDB