MySQL复制在处理数据时,有三种不同的模式:
基于语句复制(Statement Based Replication):基于实际执行的SQL语句的模式方案,SBR
基于记录复制(Row Based Replication):基于修改的列的复制格式,RBR
基于上述两种方式混合的复制模式(Mixed Based Replication),MBR
数据复制模式跟日志文件记录格式相关
1.关闭数据库服务
[mysql@mysql1 ~]$mysql_db_shutdown.sh
[mysql@mysql1 ~]$netstat –tlnp | grep 3306
2.复制数据库文件
[mysql@mysql1 ~]$cp –R /data/mysqldata/3306 /data/mysqldata/3307
首先务必确保Master节点已经启用了二进制日志文件记录功能,在my.cnf中的[mysqld]中设置server_id。
server_id=2013306
log-bin = /data/mysqldata/3306/binlog/mysql-bin
启动Master数据库
[mysql@mysql1 ~]$mysql_db_startup.sh
3.创建复制专用账户
在OracleDG中,REDO日志是由Primary主动发给Standby,而且Primary生成的REDO日志,都应该发给哪些Standby,Primary对此一清二楚。MySQL中的Slave若想获取二进制日志,它是得主动连接Master节点去请求数据,就向发起查询一样,Master也不知道二进制日志都应该发送给谁,只要有人拥有权限发起请求,它就会给。Slave通过连接Master来获取所需的日志信息,Slave会将关于Master的配置,都保存在master.info文件中。
(system@localhost) [(none)]> grant replication slave on *.* to 'rep1'@'192.168.1.%' identified by 'rep1';
查看当前Master端正在使用的二进制日志文件以及写入的位置,File和Position两列值非常重要,后面配置Slave节点时要用到。
(system@localhost) [(none)]> show master status;
+------------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000014 | 330 | | | |
+------------------+----------+--------------+------------------+-------------------+
4.配置Slave端选项文件
修改Slave的my.cnf文件的端口及server_id项
[mysql@mysql1 ~]$ vim /data/mysqldata/3307/data/my.cnf
命令行模式下%s/3306/3307/g
[mysql@mysql1 ~]$ rm -rf /data/mysqldata/3307/data/auto.cnf,用来唯一标识MySQL服务
5.启动Slave端服务
[mysql@mysql1 ~]$mysql_db_startup.sh 3307
[mysql@mysql1 ~]$ mysql -usystem -p123456 -S /data/mysqldata/3307/mysql.sock
(system@localhost) [(none)]> change master to
-> master_host='192.168.1.201',
-> master_port=3306,
-> master_user='rep1',
-> master_password='rep1',
-> master_log_file='mysql-bin.000014',
-> master_log_pos=330;
(system@localhost) [(none)]>start slave;
6.复制环境数据同步测试
Master端创建一个表对象
(system@localhost) [(none)]>prompt Master >
Master>create table hugc_test (id int);
Master>insert into hugc_test values (1);
Slave端查看有没有这个对象
(system@localhost) [(none)]>prompt Slave >
Slave>select * from hugc_test;
Slave>show slave status;
Slave>show slave status\G
相关推荐
MYSQL高级特性.pdf saivicky出品,必属精品!
MySQL复制设置步骤
Mysql复制的经典书籍,详细介绍复制原理,复制的各种场景,各种问题的解决。覆盖绝大多数生产场景
MySQL8.0新特性MySQL8.0新特性
MySQL5.5特性测试报告 MySQL5.5特性测试报告 MySQL5.5特性测试报告
MySQL关于“异步复制”“同步复制”“半同步复制”“无损复制”的概念与区别,这技术面试经常问到的
MySQL高级特性,尚硅谷的教学笔记
课程目录MySQL5.7版本新特性1-1初始化方式变更.mp41-2初始化方式变更实战演练.mp41-3旧版本支持为表增加计算列演练.mp41-4MySQL5.7支持为表增加计算列实际演练.mp41-5引入JSON列类型及相关函数.mp42-1支持多源复制....
《Effective MySQL之深入解析复制技术》通过详细示例向读者展示了MySQL原生数据复制技术的特性、选项以及不足之处,并对各种新增的数据复制特性以及其他第三方产品实现方案做出了中肯的评估。因此,通过认真学习...
MySQL数据复制部署与维护相关概念,应用场景和实际操作步骤、故障处理等。
自己整理的关于mysql主从复制相关的配置和一些关于在mysql主从复制运行的过程中遇到的问题和相关的解决方法
本程序为php编写,用于将一个mysql数据库的数据复制到另外一个,按字段千万级复制,可以设置按组复制,并可以设置每组复制多少条,比如将一个网站的会员数据复制到另外一个网站的时候将非常有用
MySQL DBA搭建真正高可靠复制环境
MySQL innodb 8.0 新特性 Oracle原厂工程师52页PPT MySQL innodb 8.0 新特性
MySQL复制设置步骤
双向复制技术,mysql的主从技术的高级应用,mysql55以上版本
MySQL主从复制类型简介入门
如何实现MySQL的主从复制和半同步复制对普通用户来说可能比较难懂,但只要您接触了MYSQL,就没理由不去学。
mysql的新特性,MySQL cluster7.0 架构与新特性,想学mysql的可以看看
MySQL 主从复制模式全面实践,很详细,很不错,建议下载看看