演示用两台全新MySql服务器:
mysql1:10.10.1.55 (主)
mysql2:10.10.1.56 (从)
配置主从,步骤如下:
 
STEP 1:在mysql1上创建复制账号 repl
CREATE USER 'repl'@'10.10.1.%' IDENTIFIED BY 'myRep8%Go';
GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'repl'@'10.10.1.%';
 
STEP 2:在mysql1上编辑 /etc/my.cnf 文件,增加两行
log_bin=mysql-bin
server_id=55
 
开启二进制日志和设置server_id(只能是数字,此处用IP地址后两位),然后重启mysqld,
 
用root账号登录进去,执行“SHOW MASTER STATUS”语句,检查输出是否与如下一致
mysql> SHOW MASTER STATUS;
+------------------+----------+--------------+------------------+----------
---------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
Executed_Gtid_Set |
+------------------+----------+--------------+------------------+----------
---------+
| mysql-bin.000001 | 154 | | |
|
+------------------+----------+--------------+------------------+----------
---------+
1 row in set (0.00 sec)
 
STEP 3:在mysql2上编辑 /etc/my.cnf 文件,增加以下配置,然后重启mysqld
log_bin=mysql-bin
server_id=56
relay_log=/var/lib/mysql/mysql-relay-bin
log_slave_updates=1
read_only=1
如果采用“主-主”结构,read_only为可选配置
 
STEP 4:登录mysql2数据库,执行以下语句,让mysql2连接到mysql1,并重放其二进制日志
CHANGE MASTER TO MASTER_HOST='10.10.1.55',
MASTER_USER='repl',MASTER_PASSWORD='myRep8%Go', MASTER_LOG_FILE='mysqlbin.000001', MASTER_LOG_POS=154;
执行成功后,再输入“SHOW SLAVE STATUS\G”检查配置是否正确,如下所示
mysql> SHOW SLAVE STATUS\G
*************************** 1. row ***************************
Slave_IO_State:
Master_Host: 10.10.1.55
Master_User: repl
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000001
Read_Master_Log_Pos: 4
Relay_Log_File: mysql-relay-bin.000001
Relay_Log_Pos: 4
Relay_Master_Log_File: mysql-bin.000001
Slave_IO_Running: No
Slave_SQL_Running: No
 
Slave_IO_State 为空,Slave_IO_Running 和 Slave_SQL_Running 均为 NO,表示复制并未运
行,
要启动复制还需运行命令“START SLAVE”
 
mysql> START SLAVE;
Query OK, 0 rows affected (0.00 sec)
mysql> SHOW SLAVE STATUS\G
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 10.10.1.55
Master_User: repl
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000001
Read_Master_Log_Pos: 623
Relay_Log_File: mysql-relay-bin.000001
Relay_Log_Pos: 836
Relay_Master_Log_File: mysql-bin.000001
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
后记:
如果对mysql1再做一遍和mysql2类似的配置,即可把mysql1设置为mysql2的从库,实现“主-
主”热备结构。通常来说一个高可用的读写分离数据库架构至少需要三台服务器:一台主,一台
热备主,一台只读。
删除主从配置命令
reset master: 删除所有的二进制日志,并重新创建一个新的二进制日志
reset slave all: 从slave删除主从复制关系的位置信息,并完全的清理复制连接参数信息
 
 
mysql 重启的话 要 重放其二进制日志
 
查看是否开启二进制日志
w variables like '%log_bin%';
CHANGE MASTER TO MASTER_HOST='192.168.237.101',
MASTER_USER='repl',MASTER_PASSWORD='Root123!', MASTER_LOG_FILE='mysqlbin.000004', MASTER_LOG_POS=0;
 
master 主机意外停止运行,重启master 需要重新指向master 的二进制文件和pos
change master to master_host='192.168.237.101',master_user='repl',master_password='Root123!',master_log_file='mysql-bin.000007',master_log_pos=154;

CentOS 7 下 MySql5.7 主从配置的更多相关文章

  1. CentOS 7下的 Mysql 主从配置

    最近在玩mysql主从配置,在此记录一下 一.前言 1.安装两个虚拟机(CentOS 7).iP分别是192.168.47.131 和192.168.47.133.其中192.168.47.133作为 ...

  2. (转)CentOS 7 下 MySQL 5.7 配置 Percona Xtrabackup

    CentOS 7 下 MySQL 5.7 配置 Percona Xtrabackup 原文:http://qizhanming.com/blog/2017/05/10/install-percona- ...

  3. Linux/CentOS环境下如何安装和配置PhantomJS工作环境

    PhantomJS 是一个基于WebKit的服务器端 JavaScript API.它全面支持web而不需浏览器支持,其快速,原生支持各种Web标准: DOM 处理, CSS 选择器, JSON, C ...

  4. CentOS 7下MySQL5.7.23的服务配置参数测试

    CentOS 7默认安装MySQL5.7.23,服务管理发生了变化,从sysvinit(service mysql start)变化为systemd(systemctl start mysqld.se ...

  5. Linux中mysql5.7主从配置

    MySQL主从配置(两台Linux之间) 简介 Linux下MySQL数据库的主从同步用来实现读写分离.主数据库进行数据的插入,删除与更新:从数据库专门用来查询操作,缓解数据库的压力.让运行海量数据的 ...

  6. mysql5.5主从配置

    mysql主从同步# 一:mysql数据库的主从 mysql数据库5.5之后的版本和5.5以前的版本数据库主从存在差异,这里是针对数据库5.5之后的配置. 1.主库编辑my.cnf(linux的my. ...

  7. Linux系统(Centos)下安装nodejs并配置环境

    总结Centos下安装nodejs并配置环境,记录成功安装的方法.推荐的安装方法是利用已编译的二进制文件安装,不推荐使用源码的形式安装,一是源码安装比较麻烦,二是需要自行下载编译浪费时间. 1.安装n ...

  8. Centos7下mysql的主从配置

    最近,有朋友业务并发量比较大,让我帮他配置个主从,来缓解数据库的压力.下面就是我配置的,有需要的朋友可以借鉴下. 首先,我得到2台服务器: 172.18.2.142(主) 172.18.2.141(从 ...

  9. CentOS7下Mysql5.7主从数据库配置

    本文配置主从使用的操作系统是Centos7,数据库版本是mysql5.7. 准备好两台安装有mysql的机器(mysql安装教程链接) 主数据库配置 每个从数据库会使用一个MySQL账号来连接主数据库 ...

随机推荐

  1. Vivado 2017封装自定义IP Core

    使用Vivado2017.3自定义IP Core.通常情况下,我们做设计采用模块化设计,对于已经设计好的一部分模块功能,就可以直接拿来调用,IP Core就是这样来的,一般来说我们看不到IP Core ...

  2. [label][转载][JavaSript]querySelectorAll 方法相比 getElementsBy 系列方法有什么区别?

     轉載出處: http://www.zhihu.com/question/24702250 querySelectorAll 相比下面这些方法有什么区别? getElementsByTagName g ...

  3. [编译,报错以及其他] 有关C/C++中int不能用-2147483648当最小值的问题

    这个取决于今早看耗子叔的微博: 这里说到了int的取值范围的问题,int的取值是-2147483648 ~ 2147483647,但是如果直接在编译器(VS2013)中使用-2147483648会报错 ...

  4. nginx 配置中的if判断

    正则表达式匹配:     ==:等值比较;     ~:与指定正则表达式模式匹配时返回“真”,判断匹配与否时区分字符大小写:     ~*:与指定正则表达式模式匹配时返回“真”,判断匹配与否时不区分字 ...

  5. ASP.NET MVC验证DateTime的问题

    今天碰到一个Bug,在IE8中,日期验证失效,输入正确的日期格式也会验证失败,提示:xxx必须是日期格式(the field xxx must be a date) 最终找到问题所在:jquery.v ...

  6. Jenkins RestAPI调用出现Error 403 No valid crumb was included in the request

    方法一(不推荐): 在jenkins 的Configure Global Security下 , 取消“防止跨站点请求伪造(Prevent Cross Site Request Forgery exp ...

  7. 虚拟机安装MAC OS X 10.9与Windows 7共享文件夹的方法

    在虚拟机中安装好MAC OS X后, 把CD/DVD中的ISO映像换成 VMwareWorkstation安装目录下的/darwin.iso, 然后连接上 进入MAC 系统后, 先安装vmware t ...

  8. https经过ngxin在web服务器收到http请求

    一. 问题描述: nginx代理nexus的时候页面不全,部分https地址自动转成http了,使用方案四解决的 浏览器输入https://www.mysite.com,后台通过request.get ...

  9. leetcode 56 合并区间 JAVA

    题目: 给出一个区间的集合,请合并所有重叠的区间. 示例 1: 输入: [[1,3],[2,6],[8,10],[15,18]] 输出: [[1,6],[8,10],[15,18]] 解释: 区间 [ ...

  10. button不能添加伪类元素

    今日试了一下button添加伪类元素,结果是不行的前后都叠加在一起 html代码: <button class="form_btn" formType="submi ...