原理场景:MySQL从3.23版本开始提供复制功能。指的是将主数据库的DDL和DML操作通过二进制日志传到从服务器(也叫从库),然后在从库上对这些日志重新执行,

从而使得从库和主库的数据保持同步。

优点:如果主库出现问题,可以快速切换到从库提供服务;

可以在从库上执行查询操作,降低主库的访问压力;

可以在从库上执行备份,以免备份期间影响主库的服务;

测试环境:2台最小化安装的centos7.2

具体操作:

1.安装相同版本的mysql

2.主(master)服务器配置

① 在my.cnf中的[mysqld]下新增如下项目:

server_id=200                # 设置server_id,一般设置为IP;

binlog-do-db=cnblogs              # 复制过滤:需要备份的数据库,输出binlog(这里我假设值备份cnblogs这个数据库);

#binlog-do-db=db2           #如果要同步多个,另起一行,再加一条

#binlog-do-db=db3           #同上

binlog-ignore-db=mysql         # 复制过滤:不需要备份的数据库,不输出(mysql库一般不同步);

log-bin=master-bin           # 开启二进制日志功能,可以随便取,最好有含义;

binlog_cache_size=1M          # 为每个session 分配的内存,在事务过程中用来存储二进制日志的缓存;

binlog_format=mixed           # 主从复制的格式(mixed,statement,row,默认格式是statement);

expire_logs_days=7            # 二进制日志自动删除/过期的天数。默认值为0,表示不自动删除;

slave_skip_errors=1062           # 跳过主从复制中遇到的所有错误或指定类型的错误,避免slave端复制中断。

如:1062错误是指一些主键重复,1032错误是因为主从数据库数据不一致;

log_bin_trust_function_creators=true    # 如果需要同步函数或者存储过程;

保存,退出;

补充说明:主从复制格式

(1) 基于语句的复制:在Master上执行的SQL语句,在Slave上执行同样的语句,MySQL默认采用基于语句的复制,效率比较高,

一旦发现没法精确复制时,会自动选着基于行的复制;

(2) 基于行的复制:把改变的内容复制到Slave,而不是把命令在Slave上执行一遍。从MySQL5.0开始支持;

(3) 混合类型的复制:默认采用基于语句的复制,一旦发现基于语句的无法精确的复制时,就会采用基于行的复制;

② 重启数据库

~]#systemctl restart mysql

③ 重新登入mysql并做相关授权

~]#mysql -uroot -p

mysql>create user mysql@'%' identified by 'mysql';

mysql>grant all  on *.* to mysql@'%';      这里可根据自己的数据库和权限进行设置;

mysql>grant replication slave, replication client on *.* to 'mysql'@'158.158.41.201' identified by 'mysql';

mysql>flush privileges;

mysql>show master status;

注意:记住上图蓝框标出的两个数值,因为在配置slave时会用到,每次重新配置都会改变。

3.从(slave)服务器配置

① 在my.cnf中的[mysqld]下新增如下项目:

server_id=201          slave的ip做id;

binlog-do-db=cnblogs      与master相对应(换成自己的需求定义);

binlog-ignore-db=mysql     与master相对应;

#log-bin=slave1-bin       先注释掉,可以先不加;

binlog_cache_size=1M

binlog_format=mixed

expire_logs_days=7

slave_skip_errors=1062

relay_log=mysql-relay-bin    配置中继日志;

log_slave_updates=1

read_only=1

保存,退出;

补充说明:

(1)如果Slave为其它Slave的Master时,必须设置bin_log;

(2)log_slave_updates表示slave将复制事件写进自己的二进制日志;

(3)当设置log_slave_updates时,你可以让slave扮演其它slave的master;

此时,slave把SQL线程执行的事件写进行自己的二进制日志(binary log),然后,它的slave可以获取这些事件并执行它;

② 重启从服务器mysql

~]#systemctl restart mysql

③ 重新登录mysql

~]#mysql -uroot -p

mysql> change master to master_host='158.158.41.200',master_user='mysql',master_password='mysql',

master_port=3306,master_log_file='master-bin.000001',master_log_pos=708,master_connect_retry=30;

上图蓝色标志处就是之前再主上“show master status;”后得到的重要数据,写进去即可。

④ 开启主从同步

mysql>start slave;

⑤ 重看主从状态

mysql>show slave status \G

一切正常,一切就绪。

4. 测试主从同步

在master上新增cnblogs,查看slave上是否同步新增:

  

结束.

mysql cluster 设置单向复制_mysql5.6做单向主从复制Replication相关推荐

  1. mysql cluster 设置单向复制_mysql单向主从配置

    1.环境要求 操作系统:centOS6.5或以上 Mysql版本:mysql5.5 主机配置:4核CPU.4G内存 2.主从复制的方式 mysql5.6开始主从复制有两种方式:基于日志(binlog) ...

  2. mysql cluster 设置单向复制_MySQL replication 单向复制实验配置(chn)

    一. 安装环境 RedHat AS4.0 MySQL 5.1.42 :MySQL-server-community-5.1.42-0.rhel4.i386.rpm MySQL-client-commu ...

  3. 【推荐】MySQL Cluster报错及解决方法(不断更新中)

    排查问题技巧: MySQL Cluster 自带了一个错误代码的查看的小程序.通过这个小东西我们可以方便的定位问题的原因. 这个程序就是 perror 在MYSQL安装目录的bin下面. 如报错:ER ...

  4. MySQL Cluster 日常维护

    在前面几篇文章已经详细介绍了MySQL Cluster的搭建,配置讲解.而且相信大家都掌握了基本用法.现在我们来看看Cluster的日常维护.熟悉日常维护,将有助于工作中更好的管理和使用Cluster ...

  5. MySQL Cluster(MySQL 集群) 初试(转)

    作/译者:叶金荣(imysql#imysql.com>),来源:http://imysql.com,欢迎转载. 作/译者:叶金荣(Email: ),来源:http://imysql.cn,转载请 ...

  6. MySQL Cluster(MySQL 集群) 初试

    MySQL Cluster 是MySQL适合于分布式计算环境的高实用.高冗余版本.它采用了NDB Cluster 存储引擎,允许在1个 Cluster 中运行多个MySQL服务器.在MyQL 5.0及 ...

  7. 利用MySQL Cluster 7.0 + LVS 搭建高可用环境

    1.前言 随着数据量规模的扩大,企业对 MySQL 的要求就不仅仅是能用了,也在寻求各种高可用方案.以前我们的大部分高可用方案其实还存在一定缺陷,例如 MySQL Replication 方案,Mas ...

  8. 第 16 章 MySQL Cluster

    前言: MySQL Cluster 是一个基于 NDB Cluster 存储引擎的完整的分布式数据库系统.不仅仅具有高可用性,而且可以自动切分数据,冗余数据等高级功能.和 Oracle Real Cl ...

  9. mysql cluster (mysql 集群)安装配置方案

    一.说明 本文参考:http://www.cnblogs.com/jackluo/archive/2013/01/19/2868152.html 1.准备服务器 计划建立有5个节点的MySQL CLu ...

最新文章

  1. Windows PowerShell in Action
  2. LeetCode题库第867题 转置矩阵
  3. IdentityServer4 SigningCredential(RSA 证书加密)
  4. 高度平衡的二叉搜索树基础概念与经典题目(Leetcode题解-Python语言)
  5. 课程体系包括哪些要素_利润的构成要素包括哪些部分
  6. 微PE系统盘制作 / 重装系统
  7. Java调用webservice服务接口步骤详解
  8. 惠普笔记本和台式机专业GhostXP_SP3装机系统稳定版 V2011.07
  9. 微信客服介绍和使用指引(4.19)
  10. Python:给图形中添加文本注释(text函数)
  11. UI设计师的成功之路
  12. 【Maven】简介信息
  13. 鼠标拖拽盒子跟着鼠标在页面任意位置移动
  14. 利用TPTP对Java程序进行性能测试
  15. iframe基本使用
  16. google学术出现错误
  17. 怎么更改智联上的手机号,原先的号不用了
  18. 微软Windows8“消失”了的宣传壁纸
  19. 我爱计算机专业作文1000字,计算机人作文1000字
  20. 从Python爬虫小白进阶数据分析大神,必看的10本书

热门文章

  1. 共享一个邮件发送的程序( share a Mail Sending program)
  2. day 03 selenium与Beautifulsoup4的原理与使用
  3. 20120918-双向链表类定义《数据结构与算法分析》
  4. 四步搞定阿里云RDS云数据库恢复到本地mysql数据库
  5. 分布式数据库切分规则介绍
  6. linux下nginx与php设置开机启动代码
  7. dpkg: 处理软件包 update-notifier-common (--configure)时出错:
  8. FEC之异或运算应用
  9. dbca no protocol support
  10. ubuntu创建文件夹快捷方式命令