将主数据库的DDL和DML通过二进制日志传到复制服务器上(从服务器),然后对从服务器上的日志做重新执行,
是的从库和主库数据保持同步
1.主库出现问题,可快速切换到从库服务
2.在从库上执行查询,降低主库访问压力
3.在从库执行备份,避免备份期间影响主库服务
mysql实现是异步复制,如果实时性要求高的数据仍需要从主库获得
复制原理:
主库提交事务时,会把数据变更作为时间events记录在二进制文件binlog中
主库推送binlog中的事件到从库的[中继日志]relay log,从库根据中继日志做数据变更操作
3个线程完成主从复制操作,binlogdump线程跑在主库 i/o线程跑在从库 sql线程跑在从库
i/o线程与主库建立连接,主库创建binlogdump线程读取事件并发送给io线程,io线程获取事件数据更新到中继日志中,
从库sql线程读取中继日志中的更新数据库事件并应用
复制方式:
show variables like ‘%binlog_format%'
1.基于语句的复制:
在主服务器上执行的SQL语句,在从服务器上执行同样的语句。
MySQL默认采用基于语句的复制,效率比较高。 一旦发现没法精确复制时会自动选着基于行的复制。
2.基于行的复制:
3.文件复制
=========================================
1.安装mysql
=========================================
MySQL主服务器:192.168.150.135:3306
MySQL备份服务器:192.168.150.136:3306
=========================================
2.新增备份用户
主服务器和备服务器都执行以下命令;
mysql>create user repl;
mysql>grant replication slave,replication client on *.* to repl@'192.168.150.%' identified by '123456';
=========================================
3.配置
主服务器:
修改或增加以下配置
#server_id给数据库服务的唯一标识,一般为服务器Ip的末尾号
server_id=135
log_bin=/Users/samson/log/mysql/mysql-bin.log
log_error=/Users/samson/log/mysql/error.log
查看日志
mysql> SHOW MASTER STATUS;
-----------------------------------------------
备份服务器:
修改或增加以下配置(配置文件my.cnf)
修改或增加以下配置
#135为主服务器的server_id
server_id=136
log_bin=/home/mysql/log/mysql-bin.log
relay_log=/var/lib/mysql/mysql-replay-bin
log_slave_updates=135
read_only=135
-----------------------------------------------
修改完配置后主备服务器均需要重启:
#service mysqld restart
=========================================
4.启动复制
登录
备份服务器mysql;
告诉备库如何连接主库并放置其日志文件
mysql>change master to master_host='192.168.150.135',
master_user='repl',
master_log_file='mysql-bin.000001',
master_log_pos=0;
开启复制
mysql>start slave;
查看slave状态信息
mysql>show slave status\G;
看到以下信息算启动复制成功:
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
=========================================
5.测试
任何改变主服务器数据库的操作,都会同步到从服务器上
=========================================
分享到:
相关推荐
MYSQL数据库主从复制高可用技术改造环境部署方案。。。
MySQL 5.7主从复制
mysql5.6.14配置主从复制 ,自己搭建的mysql5.6.14配置主从复制步骤记录
linux运维学习笔记:MySQL主从复制原理和实战
如何实现MySQL的主从复制和半同步复制对普通用户来说可能比较难懂,但只要您接触了MYSQL,就没理由不去学。
自己整理的关于mysql主从复制相关的配置和一些关于在mysql主从复制运行的过程中遇到的问题和相关的解决方法
MySQL 主从复制模式全面实践,很详细,很不错,建议下载看看
该文档是本人自学过程中对主从复制的笔记摘要记录,简单易懂好上手,容易理解。
mysql主(称master)从(称slave)复制的原理: 1、 master将数据改变记录到二进制日志(binary log)中,也即是配置文件log-bin指定的文件(这些记录叫做二进制日志事件,binary log events) 2、 slave将master的binary log...
使用与Linux版本centos7以及7以上版本,就是傻瓜试安装,每一条命令都有详细解释和说明,关键技术,数据挂载目录,主从复制模式的三种模式,binlog的三种格式的解释说明
MySQL5.7主从复制集群在CentOS7.2环境下的安装配置及注意事项。
MySQL主从复制类型简介入门
mysql_master_slave.zip
MySQL主从复制搭建从入门到掌握
快速搞定Mysql8.0主从复制
关于博客: https://blog.csdn.net/qq_42413011/article/details/126914080 的搭建脚本
mysql主从复制mysql主从mysql主从复制复制
在windows环境下 搭建mysql主从复制功能
MySQL主从复制与读写分离MySQL主从复制与读写分离
mysql-replication mysql数据库主从复制步骤