当前位置: 首页 > article >正文

面试:请阐述MySQL配置文件my.cnf中参数log-bin和binlog-do-db的作用

大家好,我是袁庭新。星球里的小伙伴去面试,面试官问:MySQL配置文件my.cnf中参数log-bin和binlog-do-db的作用?一脸懵逼~不知道该如何回答。

图片

在MySQL的配置文件my.cnf中,log-bin和binlog-do-db是与二进制日志(binary log)相关的两个重要参数。它们的作用如下:

log-bin

log-bin参数用于启用二进制日志功能,并指定二进制日志文件的前缀。二进制日志记录了所有对数据库进行更改的SQL语句(例如,INSERT、UPDATE、DELETE等),主要用于以下目的:

数据恢复:通过二进制日志,可以将数据库恢复到特定的时间点或操作之前的状态。

主从复制:主服务器将其上的更改记录到二进制日志中,从服务器通过读取和执行这些日志来实现数据同步。

审计:通过查看二进制日志,可以了解数据库在特定时间段内发生的所有更改。

例如,配置如下:

[mysqld]log-bin=mysql-bin

这表示启用了二进制日志功能,并且二进制日志文件的前缀为mysql-bin。实际的日志文件可能会命名为mysql-bin.000001、mysql-bin.000002等。

|binlog-do-db

binlog-do-db参数用于指定只记录特定数据库的更改到二进制日志中。当配置了binlog-do-db后,MySQL只会将指定数据库的更改写入二进制日志,对于其他数据库的更改则不会记录。这个参数在需要限制二进制日志内容、减少日志量或者在进行部分复制时非常有用。

例如,配置如下:​​​​​​​

[mysqld]log-bin=mysql-binbinlog-do-db=mydatabase

这表示启用了二进制日志功能,并且只会记录mydatabase数据库的更改到二进制日志中。

|注意事项

可以多次使用binlog-do-db参数来指定多个数据库。例如:​​​​​​​

[mysqld]log-bin=mysql-binbinlog-do-db=db1binlog-do-db=db2

这会使得MySQL只记录db1和db2数据库的更改。

如果同时使用了binlog-do-db和binlog-ignore-db参数,MySQL会根据这些参数的综合作用来决定哪些数据库的更改需要记录到二进制日志中。

通过合理配置log-bin和binlog-do-db参数,可以有效地管理MySQL的二进制日志,以满足数据恢复、复制和审计等需求。

我的知识星球上线了!为了回馈粉丝朋友,送一张新人优惠券。星球里有Java全栈开发工程师的循序渐进的学习体系、职业发展学习路径、专属互动问答服务、面试求职指导等。

图片


http://www.kler.cn/a/409491.html

相关文章:

  • 力扣--LCR 154.复杂链表的复制
  • 51c多模态~合集3
  • nginx配置不缓存资源
  • logback 初探学习
  • uni-app 界面TabBar中间大图标设置的两种方法
  • 区块链讲解
  • git使用(二)
  • 如何解决pdf.js跨域从url动态加载pdf文档
  • 重构代码之将引用类型更改为值类型
  • H.265流媒体播放器EasyPlayer.js播放器提示MSE不支持H.265解码可能的原因
  • 信创改造 - TongRDS 替换 Redis
  • RedHat系统配置静态IP
  • 后端开发如何高效使用 Apifox?
  • EasyExcel: 结合springboot实现表格导出入(单/多sheet), 全字段校验,批次等操作(全)
  • git常用命令以及注意事项总结
  • Spring boot常用注解和作用
  • 【jvm】为什么java是半编译半解释型语言
  • Spring Boot 和 Spring Cloud 构建一个完整的微服务架构——在线购物系统
  • Azkaban部署
  • Anaconda 的下载地址
  • MySQL学习/复习10视图/用户/权限/语言连接数据库
  • 【Linux 篇】Docker 的容器之海与镜像之岛:于 Linux 系统内探索容器化的奇妙航行
  • Client 操作索引库和文档(PHP版)
  • 后台发货时用户收到【商品确认收货提醒】
  • C 语言多文件项目
  • 探索 Vue.js:构建交互式前端的强大工具