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

为什么找别人做网站/太原seo哪家好

为什么找别人做网站,太原seo哪家好,yum wordpress php扩展,做网站时,404网页如何指向什么是二进制日志(binlog)binlog是记录所有数据库表结构变更(例如CREATE、ALTER TABLE…)以及表数据修改(INSERT、DELETE、UPDATE…)的二进制日志。多说一句,如果update操作没有造成数据变化,也是会记入binlog。binlog不会记录SELECT和SHOW这类操作&…

什么是二进制日志(binlog)

binlog是记录所有数据库表结构变更(例如CREATE、ALTER TABLE…)以及表数据修改(INSERT、DELETE、UPDATE…)的二进制日志。多说一句,如果update操作没有造成数据变化,也是会记入binlog。

binlog不会记录SELECT和SHOW这类操作,因为这类操作对数据本身并没有修改,但你可以通过查询通用日志来查看MySQL执行过的所有语句。

逻辑格式的日志,可以简单认为就是执行过的事务中的sql语句。但又不完全是sql语句这么简单,而是包括了执行的sql语句(增删改)反向的信息,也就意味着delete对应着delete本身和其反向的insert;update对应着update执行前后的版本的信息;insert对应着delete和insert本身的信息。

在使用mysqlbinlog解析binlog之后,一切都会真相大白。因此可以基于binlog做到类似于oracle的闪回功能,其实都是依赖于binlog中的日志记录。

二进制日志包括两类文件:

索引文件(文件名后缀为.index)用于记录所有的二进制文件,即哪些日志文件正在被使用。如:mysql-bin.index。

日志文件(文件名后缀为.00000*)用于记录数据库所有的DDL和DML(除了数据查询语句)语句事件。如:mysql-bin.000001

二进制日志在my.cnf中的相关配置:

log_bin: on # 打开binlog日志

log_bin_index: /var/log/mysql/mysql-bin.index # bin文件index,即索引文件名称

log_bin_basename: /var/log/mysql/mysql-bin # bin文件路径及名前缀,即日志文件名称前缀

二进制日志作用场景

主要用在两个场景:主从复制和数据恢复

1、主从复制场景:在主从复制中,从库利用主库上的binlog进行重播,实现主从同步。在 Master 主端开启Binlog,将Binlog发送到各个 Slave 从端,Slave 从端重放 Binlog 从而达到主从数据一致。

2、数据恢复场景:用于数据库的基于时间点的还原。通过使用 mysqlbinlog 工具来恢复数据。

3、日志审计场景:用户可以通过二进制日志中的信息来进行审计,判断是否有对数据库进行注入攻击。

二进制日志文件详解

1、日志记录过程

日志文件,在innodb里其实又可以分为两部分,一部分在缓存中,一部分在磁盘上。Binlog 大致记录过程是先写 Binlog Buffer,然后通过刷盘时机,控制刷入 OS Buffer,控制 fsync() 进行写入 Binlog File 文件到磁盘的过程。这里业内有一个词叫做刷盘,就是指将缓存中的日志刷到磁盘上。刷盘时机,是指啥时候,通过什么策略将内存日志写入到磁盘中。因为日志每次都是先写入内存buffer中,然后通过刷盘时机设置的参数控制刷盘时机,然后才刷入到磁盘上。跟刷盘有关的参数有两个:sync_binlog和binlog_cache_size。

2、刷盘时机参数

sync_binlog=[N]: 表示写缓冲多少次,刷一次盘。默认值为0。取值是 0、1 和 N 三种值。

binlog_cache_size: 二进制日志缓存部分的大小,默认值32k。设置过大,会造成内存浪费。设置过小,会频繁将缓冲日志写入临时文件。

sync_binlog=0: 表示刷新binlog时间点由操作系统自身来决定,操作系统自身会每隔一段时间就会刷新缓存数据到磁盘,这个性能最好。

sync_binlog=1: 表示每次事务提交都要调用fsync(),刷新binlog写入到磁盘。

sync_binlog=N: 表示 N个事务提交,才会调用 fsync()进行一次binlog刷新,写入磁盘。

3、什么时候产生

事务提交的时候,一次性将事务中的sql语句(一个事物可能对应多个sql语句)按照一定的格式记录到binlog中。

这里与redo log很明显的差异就是redo log并不一定是在事务提交的时候刷新到磁盘,redo log是在事务开始之后就开始逐步写入磁盘。

因此对于事务的提交,即便是较大的事务,提交(commit)都是很快的,但是在开启了bin_log的情况下,对于较大事务的提交,可能会变得比较慢一些。这是因为binlog是在事务提交的时候一次性写入的造成的,这些可以通过测试验证。

4、什么时候释放

binlog的默认是保持时间由参数expire_logs_days配置,也就是说对于非活动的日志文件,在生成时间超过expire_logs_days配置的天数之后,会被自动删除。

5、对应的物理文件

日志文件的路径为log_bin_basename,binlog日志文件按照指定大小,当日志文件达到指定的最大的大小之后,进行滚动更新,生成新的日志文件。对于每个binlog日志文件,通过一个统一的index文件来组织。

6、日志记录格式

MySQL 5.7.7 版本之前默认格式是 STATEMENT,版本之后默认是 ROW,可以通过参数 binlog-format 指定。

常见查询命令

1、查询二进制日志文件的保存路径

mysql> show variables like '%log_bin%';

mysql> show variables like '%log_bin_basename%';

2、查询二进制日志文件的保存时间

mysql> show variables like '%expire_logs_days%';

3、查看binlog日志

mysql> show binary logs; # 查看所有binlog文件文件列表

mysql> show master logs; # 查看所有binlog日志文件列表

mysql> show master status; # 查看当前正在写入的binlog文件,即最后(最新)一个binlog日志的编号名称,及其最后一个操作事件pos结束点(Position)值

mysql> show binlog events; # 查看第一个binlog文件的内容

mysql> show binlog events in 'mysql-bin.000002'; # 查看指定的binlog文件的内容

[root@localhost ~]# mysqlbinlog mysql-bin.000001 # 使用mysqlbinlog命令查看日志文件内容,一般的statement格式的二进制文件。

[root@localhost ~]# mysqlbinlog -vv mysql-bin.000001 # 使用mysqlbinlog命令查看日志文件内容,如果是row格式,加上-v或者-vv参数就行。

4、删除binlog日志

mysql> reset master # 将会删除所有日志,并让日志文件重新从000001开始。

mysql> PURGE { BINARY | MASTER } LOGS { TO 'log_name' | BEFORE datetime_expr }

mysql> purge binary logs to "mysql-bin.000002"; # 将会清空000002之前的所有日志文件,将binary换成master也可以。

# 使用--expire_logs_days=N选项指定过了多少天日志自动过期清空。

5、flush刷新log日志,自此刻开始产生一个新编号的binlog日志文件

mysql> flush logs;

应用场景二:数据恢复

https://www.sohu.com/a/275633000_684445

https://www.cnblogs.com/zonglonglong/p/12275934.html

http://www.lbrq.cn/news/1349479.html

相关文章:

  • 如何建立公司网站是什么/客户关系管理
  • 手机做炫光图头像的网站/优化大师电脑版官方免费下载
  • appserv做网站教程/培训心得体会300字
  • 做企业网站不好混/广州中小企业seo推广运营
  • 阳春市住房规划建设局网站/提高网站排名软件
  • 自己可以做网站空间吗/企业网站的作用
  • 国家图书馆网站建设介绍/哪些行业适合做网络推广
  • 哪个浏览器不屏蔽网站/优化一下
  • 做网做网站建设/app线上推广是什么工作
  • 深圳做网站和视频宣传机构/网站制作软件
  • 政府网站集群建设/企业营销策略分析论文
  • 专业推广公司哪家好/域名seo查询
  • 孝昌县专注网站建设代理/百度产品
  • 美国做deals的网站/seo文章是什么
  • python做问卷调查的网站/新公司做网站多少钱
  • 织梦制作手机网站/简述seo的优化流程
  • 铁路建设工程网/资源优化排名网站
  • 哔哩哔哩黄页网站/企业培训体系搭建
  • 东莞做外贸网站公司/百度一下官方网页
  • 网民深度参与政府网站建设/西安百度推广联系方式
  • 做网站西安哪家好/搜索引擎营销推广方案
  • 推广方式的英文/深圳百度推广优化
  • 韩国男女做游戏视频网站/搜索引擎营销的概念及特点
  • lol小米和谁做的视频网站/长春网站建设解决方案
  • 餐饮公司加盟网站建设/免费制作网站平台
  • 营销型网站设计难不难/seo推广论坛
  • 网站服务器速度查询/以品牌推广为目的的广告网络平台
  • 做网站的要到处跑吗/百度推广代理公司哪家好
  • 淄博什么兼职的网站建设/怎么创建一个自己的网站
  • 网站配色 蓝色/seo技巧seo排名优化
  • 【运维进阶】NFS 服务器
  • 美图复现|Science:添加显著性的GO富集分析美图
  • AI巨模型对决2025:五强争霸,谁能称王?
  • 【前端开发】三. JS运算符
  • Boosting 知识点整理:调参技巧、可解释性工具与实战案例
  • DevOps时代的知识基座革命:Gitee Wiki如何重构研发协作范式