MySQL主从复制从库SQL线程源码分析
MySQL主从复制通过Binlog进行数据传输,主库写入数据,生成Binlog,通过dump线程将Binlog发送给从库,从库IO线程接收Binlog并写入自己的relay log,SQL线程应用relay log里的事务。本文结合MySQL源码,分析 …
阅读(408)赞 (0)
MySQL主从复制通过Binlog进行数据传输,主库写入数据,生成Binlog,通过dump线程将Binlog发送给从库,从库IO线程接收Binlog并写入自己的relay log,SQL线程应用relay log里的事务。本文结合MySQL源码,分析 …
阅读(408)赞 (0)
最近个人网站总是被国外的几个IP恶意访问,每隔一秒访问一次首页,看着很不舒服,在网上搜索了一下,发现可以在apache httpd的配置文件中设置访问策略,禁止某个或某些IP的访问。 编辑httpd.conf文件: vim …
阅读(543)赞 (0)
MySQL主从复制是逻辑复制,基于Binlog进行主从数据传输,MySQL提供了丰富的参数来配置主从复制过滤条件。在主库可以设置对于库的数据写入是否写入binlog,在从库可以设置对某些库或者表的binlog是否忽略。 …
阅读(472)赞 (0)
MySQL 8.0 引入CTE(Common Table Expression)功能,CTE除了替代派生表以外,还有一个重要的功能,实现递归查询。在CTE功能引入之前,MySQL很难在SQL语句层实现递归查询,一种间接的方式是通过创建存储过程 …
阅读(676)赞 (3)
MySQL执行show create table和show create database命令,显示建表或者建库语句时,会在表名、库名、字段名的两边加上引号,比如 `id`,参数 sql_quote_show_create 设置为OFF时,可以将库名、表名、字段名 &hellip...
阅读(597)赞 (0)
MySQL InnoDB支持数据压缩,有两种数据压缩方式,第一种为表压缩,通常也称之为行格式压缩,另外一种是页压缩(Page Compression),又叫做透明页压缩(Transparent Page Compression),是一种页面级别的数据 …
阅读(600)赞 (0)
MySQL InnoDB表支持行格式压缩,压缩后的表能够显著减少磁盘空间占用,但是压缩功能也会造成一定的性能损耗,比如加重CPU的负载,降低数据库吞吐量。本文通过测试案例,来具体了解MySQL InnoDB行格式压缩的 …
阅读(658)赞 (0)
1、背景 MySQL主备复制是基于Binlog的逻辑复制,通常在主库写入数据,数据通过Binlog复制到备库,备库只读,网络流量是单向的主库到备库。如果在此基础上,建立主备双向复制,仍然只在主库写入,主库Binlog …
阅读(535)赞 (0)
MySQL InnoDB支持数据压缩,有两种数据压缩方式,第一种为表压缩,通常也称之为行格式压缩,另外一种是页压缩,页压缩对操作系统及文件系统有一定的要求。本文主要介绍表压缩(行格式压缩)的原理及使用方法 …
阅读(603)赞 (0)
innodb_max_dirty_pages_pct_lwm 参数定义了一个代表脏页比例的低水位线,当buffer pool里面的脏页比例超过这个低水位线时,能够触发脏页预刷功能,来逐步控制脏页比例。 innodb_max_dirty_pages_pct_lwm &hellip...
阅读(572)赞 (0)
innodb_max_dirty_pages_pct 是 MySQL InnoDB 存储引擎非常重要的一个参数,用来控制buffer pool中脏页的百分比,当脏页数量占比超过这个参数设置的值时,InnoDB会启动刷脏页的操作。该参数只控制脏页百分 …
阅读(805)赞 (0)
MySQL支持外键(foreign key),外键允许跨表交叉引用相关数据,另外外键约束能够保证相关数据的一致性。一个外键关系通常包括一个父表和一个子表。父表包含原始的字段数据,子表引用父表中该字段的数据,外 …
阅读(618)赞 (0)
Python的ftplib包提供了ftp文件上传、下载等功能,使用ftplib包能够很容易的开发ftp相关的功能。 python版本:3.4.8 1. python ftp上传下载文件源码 # coding:utf8 from ftplib import FTP def uplo...
阅读(567)赞 (0)
1. 创建本地分支 git branch test 2. 创建远程分支 如果远程分支不存在,提交本地分支test到远程分支test。 git push origin test:test 3. 关联远程分支 如果远程分支存在,进行本地分支与远程分支关联,例 …
阅读(552)赞 (0)
mysqldump是MySQL自带的逻辑备份工具,能够实现包括库级别、表级别、字段级别、表结构、where条件过滤等不同粒度的数据备份,备份出来的文件通常是文本形式保存的SQL语句,当然也可以是CSV,XML格式,这些 …
阅读(479)赞 (0)
编译go语言开发的项目,其中用到的一些开源库,而在编译这些开源库时,提示需要安装高版本go语言开发环境,所以有了这篇文章,介绍Linux环境下,源码编译安装go语言开发环境。 1. 下载高版本go源码 go语言 …
阅读(624)赞 (0)
resultset_metadata 是 MySQL 8.0.3 版本引入的一个参数,在MySQL Server返回查询结果给客户端时,用于控制是否返回结果集的元数据。 作用范围:会话级(session) 取值范围:FULL,NONE 默认值:FULL FULL表 &hellip...
阅读(504)赞 (0)
innodb_flush_neighbors 参数是InnoDB用来控制buffer pool刷脏页时是否把脏页邻近的其他脏页一起刷到磁盘,在传统的机械硬盘时代,打开这个参数能够减少磁盘寻道的开销,显著提升性能。 取值范围:0,1,2 …
阅读(573)赞 (0)
github代码仓库能够记录用户的每一次代码提交记录,这是一个很好用的功能,但是有时候也会带来麻烦,比如提交了敏感信息,如账号,密码,公司代码等等,如何彻底删除这些敏感信息? 下面提供一种彻底删除gi …
阅读(399)赞 (0)
MySQL 8.0 在引入新的功能和配置参数的同时,也开始废弃一些配置参数,被标记为废弃的参数,将在以后的版本被完全移除,在移除之前,这些参数仍然可以使用,但是不再建议使用。 MySQL 8.0 废弃的参数,汇总 …
阅读(529)赞 (3)
MySQL 8.0.17版本引入了一个antijoin的优化,这个优化能够将where条件中的not in(subquery), not exists(subquery),in(subquery) is not true,exists(subquery) is not true,...
阅读(576)赞 (3)
MySQL 8.0 版本相对于 5.7 版本加入了许多新的特性,同时也移除了一些无用的功能和参数配置。本文汇总了MySQL 8.0 移除的配置参数和状态变量,有些参数是真的彻底不用了,比如查询缓存相关的参数,而有些参 …
阅读(552)赞 (3)
个人网站上的页面经常被搜索引擎(百度,神马等等)进行转码,转码后的网页,经常出现页面显示不全,页面结构混乱,更让人讨厌的是甚至出现搜索引擎私自添加的广告。 在网上搜索了一下,最简单的禁止搜索引 …
阅读(588)赞 (0)
一、修改字符集 1、修改数据库字符集 alter database db_new charset utf8mb4; 2、修改表字符集 alter table tb charset=utf8mb4; 3、修改表字符集和校验规则 alter table tb charset=utf8...
阅读(561)赞 (0)
MySQL 8.0 对于分区表功能进行了较大的修改,在 8.0 之前,分区表在Server层实现,支持多种存储引擎,从 8.0 版本开始,分区表功能移到引擎层实现,目前MySQL 8.0 版本只有InnoDB存储引擎支持分区表。 1. m …
阅读(482)赞 (3)
MySQL 在 8.0.3 版本引入了新的事务调度算法,基于竞争感知的事务调度,Contention-Aware Transaction Scheduling,简称CATS。在CATS算法之前,MySQL使用FIFO算法,先到的事务先获得锁,如果发生锁等待,则 …
阅读(579)赞 (3)
MySQL 8.0.13 版本引入了一个新的参数sql_require_primary_key,开启这个参数,会在建表或者改表时,检查表中是否有主键,如果没有主键,则会报错。 一、强制主键检查参数 参数名称:sql_require_primary_k …
阅读(508)赞 (3)
doublewrite 是MySQL保证数据完整性的一种机制,doublewrite在磁盘上有一块专门的存储区域,InnoDB 刷脏页到磁盘时,先将页面写到这块专门的存储区,然后再将页面写入到InnoDB数据文件中,因为同一个页面, …
阅读(478)赞 (3)
MySQL 8.0.20 版本增加了binlog日志事务压缩功能,将事务信息使用zstd算法进行压缩,然后再写入binlog日志文件,这种被压缩后的事务信息,在binlog中对应为一个新的event类型,叫做Transaction_payload_eve …
阅读(497)赞 (3)
php是常用的开发web应用的后台程序,通常php源码文件为.php,未做静态化处理的php程序,访问的网页url地址通常也是.php结尾。如果将php代码直接写在html文件中,php代码并不会被执行,因为web应用默认只会 …
阅读(575)赞 (0)