首页 > 社交 > 科普中国

什么是MySQL主从复制?

常驻编辑 科普中国 2022-09-25 主从   线程   变量   语句   命令   模式   服务器   文件   数据   日志
VAW拜客生活常识网

(2)主主复制:主主复制类似于常见的集群模式,指把两台服务器都设置为主服务器,即两台服务器既可以分别写入数据,也可以分别从对方那里下载数据。该架构还可以扩展成master+slave+master+slave的形式,即两台主服务器进行主主复制,每台主服务器下面各有一台个人服务器进行主从复制。此架构方案将压力平分给多台服务器,但不是按照写入或读取的方式分配的。VAW拜客生活常识网

(3)一主多从:一主多从适合写入较少,但读取较多的场景。VAW拜客生活常识网

(4)多主一从:多主一从适用于写入较多,但读取较少的场景,即由不同的主服务器进行写入,只由一台从服务器进行读取。VAW拜客生活常识网

(5)联级复制:联级复制指master A slave B slave C的架构方式,slaveB和slaveC,会替换掉之前旧的masterA。同时,slaveB和slaveC是新的主从关系,因此,配置成联级复制来迁移数据,另外也方便切换。架构图如下所示。VAW拜客生活常识网

VAW拜客生活常识网

深入理解MySQL中的二进制日志VAW拜客生活常识网

MySQL中的二进制日志是一个二进制文件,主要用于记录修改数据或有可能引起数据变更的SQL语句。二进制日志记录了对MySQL进行更改的所有操作,并且记录了语句发生时间、执行时长、操作数据等其他额外信息,但是它不记录SELECT、SHOW等那些不修改数据的SQL语句。二进制日志主要用于数据库恢复和主从复制,以及审计操作。在MySQL主从复制解决方案中,二进制日志是主从复制解决方案的基础。VAW拜客生活常识网

查看MySQL二进制日志状态VAW拜客生活常识网

当系统变量log_bin的值为OFF时,表示没有开启二进制日志;当系统变量log_bin的值为ON时,表示开启了二进制日志。在MySQL控制台输入如下命令即可查看二进制日志是否开启:VAW拜客生活常识网

VAW拜客生活常识网

结果如图VAW拜客生活常识网

VAW拜客生活常识网

模糊查询命令如下:VAW拜客生活常识网

VAW拜客生活常识网

结果如图VAW拜客生活常识网

VAW拜客生活常识网

log_bin和sql_log_bin的区别VAW拜客生活常识网

log_bin主要用于数据恢复,以及在主从服务器之间同步数据。当MySQL启动时,可以通过配置文件开启二进制日志,而log_bin这个变量仅仅是报告当前二进制日志的状态(是否开启)。如果想要更改二进制日志的开启状态,则需要在更改配置文件后重新启动MySQL。VAW拜客生活常识网

sql_log_bin是一个动态变量,该变量既可以是局部变量,即只对当前会话生效(Session),也可以是全局变量(Global)。当sql_log_bin为全局变量时,如果修改这个变量,则sql_log_bin只会对新的会话生效,这意味着sql_log_bin对当前会话不再生效。因此一般在全局修改sql_log_bin之后,都要把原来的所有连接关闭(kill)。如果在一连接中将该值设置为OFF,则该连接上的客户端的所有更新操作在MySQL的二进制日志中不会记录日志。因此,当通过log_bin还原数据库时,为了防止将还原的UPDATE命令写入二进制日志中,出现循环复制的现象,可以选择关闭sql_log_bin变量。VAW拜客生活常识网

开启二进制日志VAW拜客生活常识网

查看MySQL的配置文件/etc/my.cnf,看看是否有与二进制日志有关的配置:

相关阅读:

  • 开播就是榜单第一,豆瓣好评不断,《二进制恋爱》短短8集
  • 又来一个,85花咋都爱搞姐弟恋啊?
  • 爱让我们燃起生活的希望
  • 小而全,好用的功能统统给你:iWALK糖果真无线耳机
  • 庆余年开播,书粉们可还满意?
  • 常见的缓存问题及解决方法
  • 集合篇
  • 华硕天选3游戏本
  • Spring
  • 管理订单状态,该上状态机吗?
    • 网站地图 |
    • 声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。文章内容仅供参考,不做权威认证,如若验证其真实性,请咨询相关权威专业人士。