mysql主从的几个小知识点

一、导致数据库停止的原因:

a、mysqld经常异常结束

b、磁盘空间满了

c、磁盘故障

d、服务器电源故障

二、MySQL主从同步功能的特性以及注意事项:

a、主(master)指的是接收客户端发出的修改与查询两种类型的语句的服务器

b、从(Slave)指的是不接收客户端发出的更新请求,仅通过与Master的联动来进行数据的更新服务器

三、同步数据同步、异步数据同步:

a、为了实现同步,Slave中设置了两个进程同时工作,即“I/O进程”与“SQL进程”;

b、I/O进程负责将从Master得到的数据(更新日志)放到中继日志文件中进行记录;

c、SQL线程则是将中继日志读取并执行查询

四、为什么需要两个线程了?

主要是为了降低同步的延迟,如果只分配给一个线程,且SQL的处理又比较花时间,那么在处理SQL语句期间是无法从Master复制数据的

五、二进制日志与中继日志

a、Master中会生成“二进制日志”,Slave中会生成中继日志

b、二进制日志中只记录修改数据的语句,而不记录查询类(不对数据库修改)的语句,二进制除了被用于同步外,还会被用于保存备份中更新的语句

c、二进制不是文本格式,无法直接打开查看,需要在命令行下使用mysqlbinlog将其转换为文本格式

d、中继日志是指,Slave的I/O线程在从Master获取更新日志(记录了修改类语句所请求的数据)后,将其保存在Slave上。

e、中继日志内容与二进制日志相同,与二进制日志不同的是,当不需要时,中继日志会被SQL线程自动删除,不需要手动删除

时间: 2024-11-04 12:55:42

mysql主从的几个小知识点的相关文章

MySQL主从同步的一个小问题解决

由于历史遗留问题,我们的MySQL主从库的表结构不一致,主库的某个表tableA比从库表tableA少了一个字段. 当尝试在主库上更改表结构时,这行alter语句会随着binlog同步到从库,如果从库执行这行语句时出错,主从同步线程就会自动停止,那样只能人为手动处理错误,然后再启动slave上的主从同步线程.场景大概是下面这个样子: 1,在主库上执行alter table aaa add column xxx int default 1  after yyy; 2,从库同时也会执行这样语句,但是

mysql 主从踩的一个小坑

基本情况主库binlog-do-db未做过滤从库配置replicate_wild_do_table=dbname.% 修改了主库的某库dbname2的event scheduler,从库上并没有这个库,之后从库上 show slave status\G 发现报错Error 'Unknown database 'dbname2'' on query. Default database: 'dbname2'. Query: 'ALTER DEFINER=`root`@`%` EVENT `produ

初学MySQL中的一些小知识点

写在前面,小弟初用博客记录学习路上的一点点小知识点,其中可能有个人理解方面的误差,或不明白的地方.希望各位大牛纠正指导,小弟感激不尽!这并不是什么帮助别人解决问题的文章,只是小弟将学习到的内容一一写在博客上,这样方便以后复习,还恳请大家勿喷.. 一.进入MySQL客户端 1.客户端可以通过.../MySQL/bin目录下的sql.exe运行客户端. 1.1:访问方式一: -u root -p /*可以直接在这段代码的后面添加密码,也可以按回车后再输入密码*/ 1.1:访问方式二: --host

高性能Mysql主从架构的复制原理及配置详解

1 复制概述 Mysql内建的复制功能是构建大型,高性能应用程序的基础.将Mysql的数据分布到多个系统上去,这种分布的机制,是通过将Mysql的某一台主机的数据复制到其它主机(slaves)上,并重新执行一遍来实现的.复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器.主服务器将更新写入二进制日志文件,并维护文件的一个索引以跟踪日志循环.这些日志可以记录发送到从服务器的更新.当一个从服务器连接主服务器时,它通知主服务器从服务器在日志中读取的最后一次成功更新的位置.从服务器接收

2-18,19 搭建MySQL主从服务器并并通过mysql-proxy实现读写分离

MySQL主从服务器 实现方式: MySQL  REPLICATION Replication可以实现将数据从一台数据库服务器(master)复制到一台或多台数据库服务器(slave) 默认情况下这种情况属于异步复制,无需维持长连接 通过配置,可以复制所有库或者几个库,甚至库中的一些表 它是MySQL内建的,自带 Replication的原理 主服务器master将数据库的改变写入二进制日志文件,从服务器slave同步这些二进制日志,并生成中继日志,从服务器根据中继日志,执行这些改变 DML:S

mysql主从同步(4)-同步延迟状态考量(seconds_behind_master和pt-heartbea)

一般情况下,我们是通过"show slave status \G;"提供的Seconds_Behind_Master值来衡量mysql主从同步的延迟情况.具体说明见:mysql主从同步(4)-Slave延迟状态监控,这种方法在大多数情况下确实是可行的.但是经验告诉我,仅仅依靠Seconds_Behind_Master的值来监测主从同步数据是否延迟是绝对不可靠的!!! 曾经遇到过的一个坑:Mysql主从环境部署后,刚开始主从数据同步是没问题的,也是通过监控Seconds_Behind_M

高性能Mysql主从架构的复制原理及配置详解(转)

温习<高性能MySQL>的复制篇. 1 复制概述 Mysql内建的复制功能是构建大型,高性能应用程序的基础.将Mysql的数据分布到多个系统上去,这种分布的机制,是通过将Mysql的某一台主机的数据复制到其它主机(slaves)上,并重新执行一遍来实现的.复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器.主服务器将更新写入二进制日志文件,并维护文件的一个索引以跟踪日志循环.这些日志可以记录发送到从服务器的更新.当一个从服务器连接主服务器时,它通知主服务器从服务器在日志中读取

转:高性能Mysql主从架构的复制原理及配置详解

温习<高性能MySQL>的复制篇. 1 复制概述 Mysql内建的复制功能是构建大型,高性能应用程序的基础.将Mysql的数据分布到多个系统上去,这种分布的机制,是通过将Mysql的某一台主机的数据复制到其它主机(slaves)上,并重新执行一遍来实现的.复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器.主服务器将更新写入二进制日志文件,并维护文件的一个索引以跟踪日志循环.这些日志可以记录发送到从服务器的更新.当一个从服务器连接主服务器时,它通知主服务器从服务器在日志中读取

mysql主从同步中出现的问题梳理

之前部署了Mysql主从复制环境(MySQL复制环境(主从/主主)部署总结性梳理),在mysql同步过程中会出现很多问题,导致数据同步异常.以下梳理了几种主从同步中可能存在的问题:1)slave运行过慢不能与master同步,也就是MySQL数据库主从同步延迟MySQL数据库slave服务器延迟的现象是非常普遍的,MySQL复制允许从机进行SELECT操作,但是在实际线上环境下,由于从机延迟的关系,很难将读取操作转向到从机.这就导致了有了以下一些潜规则:"实时性要求不高的读取操作可以放到slav