linux环境下配置mysql双主复制
简单来说,双主复制就是让两台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双主复制的更多相关文章
- keepalived+mysql双主复制高可用方案
MySQL双主复制,即互为Master-Slave(只有一个Master提供写操作),可以实现数据库服务器的热备,但是一个Master宕机后不能实现动态切换.而Keepalived通过虚拟IP,实现了 ...
- 分布式数据存储 - MySQL双主复制
上篇文章<分布式数据存储 - MySQL主从复制>,我们说到MySQL主从复制很好的保障了从库,读的高可用性.so,问题来了: 1.针对主库,写的高可用性又是如何做到高可用性? 2.如果需 ...
- Window环境下配置MySQL 5.6的主从复制
原文:Window环境下配置MySQL 5.6的主从复制 1.环境准备 Windows 7 64位 MySQL 5.6 主库:192.168.103.207 从库:192.168.103.208 2. ...
- 阿里云ECS服务器Linux环境下配置php服务器(二)--phpMyAdmin篇
上一篇讲了PHP服务器的基本配置,我们安装了apache,php,还有MySQL,最后还跑通了一个非常简单的php页面,有兴趣的朋友可以看我的这篇博客: 阿里云ECS服务器Linux环境下配置php服 ...
- MySQL双主复制
原文发表于cu:2017-06-12 本文简单介绍MySQL双主复制原理及1个简单是双主复制验证. 一.MySQL双主复制原理 1. 双主复制原理 master-master复制的两台服务器,既是ma ...
- mysql 双主复制 centos7
mysql 安装请看:http://www.cnblogs.com/leohe/p/6839705.html 双主复制设置 1. 两台虚拟机,都是 centos7 主: 10.1.1.115 从: 1 ...
- 在Docker下搭建MySQL双主双重集群(单机展示,与多机原理一致)
前言 Docker的安装部署&在Docker下MySQL的安装与配置 https://www.cnblogs.com/yumq/p/14253360.html 在Docker进行单机主从复制M ...
- mysql双主复制总结
双主复制: 1).在两台服务器上各自建立一个具有复制权限的用户: 2).修改配置文件: # 主服务器A上 [mysqld] server-id = 10 log-bin = mysql-bin rel ...
- linux环境下配置虚拟主机域名
linux环境下面配置虚拟主机域名 第一步:在root目录下面(即根目录)ls(查看文件)cd进入etc目录find hosts文件vi hosts 打开hosts文件并进行编辑在打开的文件最下面添加 ...
随机推荐
- maven配置checkstyle插件对代码规范进行静态检查
checkstyle配置的官方网站:http://checkstyle.sourceforge.net/config.html (1)新建maven项目,配置checkstyle插件 pom.xml ...
- 小程序设置apiBase
App({ globalDate:{ g_isPlayMusic:false, g_currentMusicPostId:null, douBanBase:'http://t.yushu.im' }, ...
- Centos7下mysql5.7.22主从配置
一:服务器配置 1.1修改root密码: ALTER USER 'root'@'localhost' IDENTIFIED BY 'xxxx'; 1.2添加远程登陆用户: GRANT ALL PRIV ...
- exists 的使用
SELECT u.login_id, ( from mdp_user_login_info muli where muli.BIZ_SYS = 'admin' and u.login_id=muli. ...
- vim 使用和配置
vim 启动的时候,默认加载用户目录下.vimrc的配置文件,如果不存在,则会加载系统配置文件/etc/vim/vimrc ~/.vimrc文件配置 #避免中文乱码set fileencodings= ...
- android-DNS服务找不到
1.重启eclipse 2.重新建立AVD 3.在建立AVD时sd卡数值不要填
- oracle 12c中种子数据库的隐藏与保护
Oracle 12c种子数据库(pdbseed)的状态是read only,这是因为Oracle对种子数据库进行了保护,避免遭到破坏.保护好种子数据库的目的,是为了以此为模板,新建pdb数据库. 新的 ...
- 解决MySQL不允许远程连接的问题
进入MySQL:mysql -u root -p mysql> GRANT ALL privileges ON *.* TO 'root' @'localhost' IDENTIFIED ...
- Python MRO_C3
class A: pass class B(A): pass class C(A): pass class D(B, C): pass class E(C, A): pass class F(D, E ...
- Java编程中必须了解 十几个代码段
向文件末尾添加内容 字符串有整型的相互转换 转字符串到日期 java.util.Date = java.text.DateFormat.getDateInstance().parse(date Str ...