mysql数据库
文章平均质量分 81
沐夜听风
这个作者很懒,什么都没留下…
展开
-
MySQL里的两个“二次”
为了解决部分页写问题,当mysql将脏数据刷新到数据文件的时候,先使用内存复制将脏数据复制到内存中的double write buffer,之后通过double write buffer再分2次,每次写入1MB到共享表空间,然后立即调用fsync函数,同步到磁盘上,避免缓冲带来的问题,在这个过程中,doublewrite是顺序写,不会大小写大,在完成doublewrite写入后,在将double write buffer写入各个表空间文件,这时是离散写入。如果页面的校验和不正确,它将从其原始位置读取页面。原创 2024-02-28 21:09:47 · 1039 阅读 · 0 评论 -
GTID的使用原理
当事务提交时,MySQL Server在写binlog的时候,会先写一个特殊的Binlog Event,类型为GTID_Event,指定下一个事务的GTID,然后再写事务的Binlog。从库报1236错误,IO线程中断。MySQL在启动时打开最新的binlog文件,读取其中的Previous-GTIDs,构造一个gtid_set,然后再遍历这个最新的binlog文件,把遇到的每个gtid都添加到gtid_set中,当文件遍历完成时,这个gtid_set就是@@global.gtid_executed。原创 2024-02-28 20:53:48 · 848 阅读 · 0 评论 -
MySQL统计信息更新
采样统计的时候,InnoDB默认会选择N个数据页,统计这些页面上的不同值,得到一个平均值,然后乘以这个索引的页面数,就得到了这个索引的基数。innodb_table_stats和innodb_index_stats这2个表的统计数据,其实也可以通过手动方式去修改它(直接update表数据),修改后,需要执行一下FLUSH TABLE命令更新对应的表统计信息让它加载生效.innodb_stats_auto_recalc参数默认也是开启的,当一个表数据更新超过10%的时候,会触发统计信息的更新计算。原创 2024-02-28 20:31:52 · 688 阅读 · 0 评论 -
MySQL5.7安装部署及主从简单部署
MySQL5.7部署主从环境:系统:CentOS7.8数据库版本:MySQL5.7主:192.168.24.134从:192.168.24.135一、安装数据库1、检查系统自带版本数据库检查系统是否自带MySQL版本数据库,如MariaDBrpm -qa|grep mysqlrpm -qa|grep MariaDB2、关闭防火墙,selinuxsetenforce 0systemctl stop firewalld3、安装数据库下载安装包并解压wget https://dev原创 2022-03-02 14:29:09 · 706 阅读 · 0 评论