简单来说,双主复制就是让两台mysql服务器中的数据保持同步,可以用来实现灾备和负载均衡

主机1 IP:192.168.200.128

主机2 IP:192.168.200.131

两台主机系统均为centos7

步骤也很简单

一定要记住,防火墙,selinux先关闭再实验

1。安装并部署mariadb

2。配置mariadb的配置文件

3。在两台主机mysql中增加用户以及密码,用来登录mysql

4。配置另一台主机为master,并开启slave

5。测试双主复制是否成功

下面用主机1说明

1。无非就是yum install mariadb mariadb-server -y还有设置密码为123456之类,不多说

2。如图,这个是在主机1上的配置文件截图,主机2也差不多,只需要把id改为2,mastera-bin该为masterb-bin,还有最后一行的1改为2就可以了。后面这两行是比较关键的,假设我们有一个表的id是自增的,那么如果我们在主机1和主机2上分别插入数据,那么很有可能新插入的主键会重复冲突,导致插入数据时出现问题



3。添加用户,授权replication slave就可以



4。设置master,其中IP,用户名,密码以及master_log_file和master_log_pos是在主机2上的,后面两个的值在主机2上执行show master status;即可获取



5。下面我们就实验一下,创建这么一个表



再插入一条数据,id自增为3



再到主机2中插入数据,从3的下一个数4开始,并且以2递增

对了,因为我都是在虚拟机做实验,所以总喜欢在做新实验时直接把系统快照直接恢复到刚装好系统的状态,这样可以避免很多问题。

所以我打算这回多找点事做,直接在配置好msyql之后不恢复快照直接进行mysql双主配置,然后,在主机2上change master。。。。那里时,一回车就包1201错误

上网一查,删除下面两文件

/var/lib/mysql/master.info

/var/lib/mysql/relay-log.info(我只删除了这个,问题解决,配置成功了,)

本来想向其他人请教一下的,结果上网一查就有就能解决了。所以百度,谷歌之所以存在,不是没有道理的。

有时候遇到问题,一定要先百度,看完百度搜索结果前两页还不能解决,再考虑请教别人吧,特别是这种提示有错误代码的,网上应该都有现成的答案的

linux环境下配置mysql双主复制的更多相关文章

  1. keepalived+mysql双主复制高可用方案

    MySQL双主复制,即互为Master-Slave(只有一个Master提供写操作),可以实现数据库服务器的热备,但是一个Master宕机后不能实现动态切换.而Keepalived通过虚拟IP,实现了 ...

  2. 分布式数据存储 - MySQL双主复制

    上篇文章<分布式数据存储 - MySQL主从复制>,我们说到MySQL主从复制很好的保障了从库,读的高可用性.so,问题来了: 1.针对主库,写的高可用性又是如何做到高可用性? 2.如果需 ...

  3. Window环境下配置MySQL 5.6的主从复制

    原文:Window环境下配置MySQL 5.6的主从复制 1.环境准备 Windows 7 64位 MySQL 5.6 主库:192.168.103.207 从库:192.168.103.208 2. ...

  4. 阿里云ECS服务器Linux环境下配置php服务器(二)--phpMyAdmin篇

    上一篇讲了PHP服务器的基本配置,我们安装了apache,php,还有MySQL,最后还跑通了一个非常简单的php页面,有兴趣的朋友可以看我的这篇博客: 阿里云ECS服务器Linux环境下配置php服 ...

  5. MySQL双主复制

    原文发表于cu:2017-06-12 本文简单介绍MySQL双主复制原理及1个简单是双主复制验证. 一.MySQL双主复制原理 1. 双主复制原理 master-master复制的两台服务器,既是ma ...

  6. mysql 双主复制 centos7

    mysql 安装请看:http://www.cnblogs.com/leohe/p/6839705.html 双主复制设置 1. 两台虚拟机,都是 centos7 主: 10.1.1.115 从: 1 ...

  7. 在Docker下搭建MySQL双主双重集群(单机展示,与多机原理一致)

    前言 Docker的安装部署&在Docker下MySQL的安装与配置 https://www.cnblogs.com/yumq/p/14253360.html 在Docker进行单机主从复制M ...

  8. mysql双主复制总结

    双主复制: 1).在两台服务器上各自建立一个具有复制权限的用户: 2).修改配置文件: # 主服务器A上 [mysqld] server-id = 10 log-bin = mysql-bin rel ...

  9. linux环境下配置虚拟主机域名

    linux环境下面配置虚拟主机域名 第一步:在root目录下面(即根目录)ls(查看文件)cd进入etc目录find hosts文件vi hosts 打开hosts文件并进行编辑在打开的文件最下面添加 ...

随机推荐

  1. 经典DFS问题实践

    八皇后问题: //八皇后问题 经典的DFS问题实践 #include<iostream> #include<cmath> #include<algorithm> # ...

  2. SpringMVC:后台将List转为Json,传值到页面

    一.JSP页面 <body> <form name="test" action="getAllStudent" method="po ...

  3. Java数值类型之间转换

    Java之间的数值转换如图所示,实心箭头代表无数据丢失,虚线箭头代表可能丢失 例如:123456789是一个大的整数,包含的位数比float类型能够表达的位数多,但这个数转换为float类型时,将会得 ...

  4. 深入理解java虚拟机---java虚拟机内存管理(五)

    1.深入理解java虚拟机 总图: 1.线程共享区: 2.线程独占区: 1.程序计数器 理解为当前线程锁执行的字节码的行号指示器,程序计数器没有内存异常错误.

  5. 5.7 C++函数调用操作符重载

    参考:http://www.weixueyuan.net/view/6385.html 总结: 需要以类成员函数的形式对函数调用操作符“()”进行重载. 只有常成员函数才能处理常对象,故我们依然在类中 ...

  6. 查看linux 内核版本信息

    uname -r2.6.32-696.el6.x86_64uname -ix86_64

  7. loadrunner json参数化

    因为json格式有{},所以LR参数化时如果也用默认的{}的话,会冲突,这样脚本运行时就无法识别,导致不能正确的读取参数化文件里的内容,此时把参数化的{}改成其他符号即可,比如<>

  8. String转换成Boolean类型

    Boolean.valueOf()方法: public static Boolean valueOf(String s) { return toBoolean(s) ? TRUE : FALSE; } ...

  9. Capjoint

    前期知识储备: 现如今的全球台站分布情况:在全球大陆的分布并不均衡.在美国加利福尼亚.日本.中国台湾等地区,台站分布密集,数字化程度高.然而在世界很多地区发生的地震,往往在300km范围内仅有2到3个 ...

  10. [SpringMVC-初始] 初始SpringMVC

    关于SpringMVC的简介 A.SpringMVC概述 作用: SpringMVC框架是SpringFramWork中实现了MVC架构模式的轻量级子框架 用于将WEB层进行职责解耦,松散的耦合可插拔 ...