MySQL master-slave主从复制环境搭建初试

原文:MySQL master-slave主从复制环境搭建初试

 

环境为centos 7.2+mysql 5.7,网上教程很多,原理也不复杂(深知自己踩的坑还不够)

正常情况下,配置起来比较简单。另外,根据个人感受,MySQL的复制感觉要比SQL Server的复制要清爽很多(尽管功能上可能有一些差异)。

 

 

 master服务器,首先是开启了二进制日志,同时设置server-id为一个具体的数值

1,创建复制用户

  GRANT REPLICATION SLAVE ON *.* to 'repl_test'@'120.77.147.***' identified by '123456';

2,记录master日志文件和日志位置

  show master status;

 

 从库上

  1,设置主服务器

CHANGE MASTER TO
MASTER_HOST='120.77.159.***',
MASTER_USER='repl_test',
MASTER_PASSWORD='123456',
MASTER_PORT = 8000,
MASTER_LOG_FILE='mysql-bin.000047',
MASTER_LOG_POS=3112;

  2,启动从服务器上的复制

  start slave;

   show slave status 查看丛库的状态

 

  

数据同步测试

  主服务器上创建一个新的DB,随即同步到从服务器

 

   主服务器上创建一个表,写入数据,也同步到从服务器上(阿里云免费申请的两台ECS云服务器,主从延迟很小,感觉不超过1秒)

 

 

中间遇到一点小问题,在show slave status的时候,发现Slave_IO_Running是正常启动的,但是Slave_SQL_Running没有启动

Slave_IO_Running: Yes
Slave_SQL_Running: No

参考http://blog.csdn.net/jasontech/article/details/39435873这里之后,解决

set GLOBAL SQL_SLAVE_SKIP_COUNTER=1;客户端运行,用来跳过几个事件,只有当同步进程出现错误而停止的时候才可以执行。

stop slave ;
set GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
start slave

 

为了防止上述情况的发生,可以先锁定主库,在配置完成从库后解锁主库

FLUSH TABLES WITH READ LOCK;

unlock tables;

 

行动可以改变思维方式

 

时间: 2024-08-03 16:11:43

MySQL master-slave主从复制环境搭建初试的相关文章

mysql(master/slave)主从复制原理及配置图文详解_Mysql

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

教你如何在Windows下搭建MySQL Master Slave

一.背景 服务器上放了很多MySQL数据库,为了安全,现在需要做Master/Slave方案,因为操作系统是Window的,所以没有办法使用keepalived这个HA工具,但是我们可以接受人工进行切换,有什么好的方案呢? 二.几种Master/Slave逻辑架构图 (Figure1:单Master-单Slave) (Figure2:单Master-多Slave) (Figure3:单Master-级联Slave) (Figure4:Master/Slave部署逻辑图)

MySQL MHA高可用环境搭建

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://koumm.blog.51cto.com/703525/1769562 一.安装MHA基本环境 1. 安装MHA node (1) 基本环境说明,本文参考互联网文章学习,搭建MHA与测试如下. 参考文档:http://www.cnblogs.com/xuanzhi201111/p/4231412.html 角色                IP地址            主机名

基于MySQL Master Slave同步配置的操作详解_Mysql

环境:PC:ubuntu 10.10  192.168.1.112(master) 192.168.10.245(slave) MySQL : 5.1.49-1ubuntu8.1-log在master中已经存在数据库test 首先修改mysql配置文件:/etc/mysql/my.cnf[master]#author:zhxia 复制代码 代码如下:  #master 同步设置 server-id               = 1 log_bin                 = /var/

linux 下 docker NGINX+PHP+MYSQL+REDIS+Elasticsearch 开发环境搭建

一步步跟我做,搭建属于自己的 docker 开发环境 作者:风来了.fox nginx 1.8.0 php 5.6.x 1.docker 安装 1.1 ubuntu 14.x 15.x sudo apt-get update curl -sSL https://get.docker.io/ | sudo sh 1.2 centos 6.x 7.x sudo yum update curl -sSL https://get.docker.io/ | sudo sh 1.3 如果安装出现错误 1.3

MySQL Master High Available 实战篇

测试背景 以下所有测试,全部基于以下复制结构完成 host_1(host_1:3306) (current master) +--host_2(host_2:3306) +--host_3(host_3:3306) 一.MHA安装 mha node 所有服务器节点都要安装 mha manager 只需要安装在manager节点 MHA NODE 1. yum install perl-DBD-MySQL 2. rpm -ivh mha4mysql-node-0.56-0.el6.noarch.r

MySQL中slave监控的延迟情况分析_Mysql

在MySQL复制环境中,我们通常只根据 Seconds_Behind_Master 的值来判断SLAVE的延迟.这么做大部分情况下尚可接受,但并不够准确,而应该考虑更多因素. 首先,我们先看下SLAVE的状态: 复制代码 代码如下: yejr@imysql.com [(none)]> show slave status\G *************************** 1. row *************************** Slave_IO_State: Waiting

mysql 5.7 docker 主从复制架构搭建教程_Mysql

分享mysql 5.7 docker 主从复制架构搭建教程,供大家参考,具体内容如下 环境版本: MySQL :  5.7.13 Docker : 1.11.2 CentOS : 7.1  1.先在两个物理机上分别安装两个MySQL.命令如下  复制代码 代码如下: docker pull mysql:5.7.13  docker run --name anuo-mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=qaz.00JK -d mysql:5.7.13 

MySQL主从环境搭建配置详解

=Start= 缘由: 工作需要,学习需要. 正文: MySQL的主从架构: 由一个MySQL实例作为主库,接受读写请求,另外一个或多个MySQL实例通过MySQL的复制机制,将主库的数据同步到从库,从库会设置只读,防止主从数据不一致. 主从架构的好处: 如果主服务器出现问题,可以快速切换到从服务器提供服务: 可以在从服务器上执行查询,降低主服务器的压力: 可以在从服务器上执行备份,以避免备份期间影响主服务器的性能. 主从架构的局限: 由于MySQL实现的是异步复制,所以主从服务器之间的数据存在