演示用两台全新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. CodeForces - 669D——(思维题)

    Little Artem is fond of dancing. Most of all dances Artem likes rueda — Cuban dance that is danced b ...

  2. [C#]DES再一例(转)

    public class Encrypt { internal string ToEncrypt(string encryptKey, string str) { try { byte[] P_byt ...

  3. redis分布式集群3种架构方案

    集群方案: 1. 主从高可用(该方案就是单实例形式,只是为了保证数据的安全,对于用户数据少,业务的前期可以采用,目前我司缓存架构就是采用该方案) 2. 客户端分片(典型代表:Jedis.自主写分片算法 ...

  4. [c# 20问] 3.String和string的区别

    POINTS string类型为继承自object的sealed类. string类实例用来存储Unicode字符串. string关键字是System.String类的别名,因此既可以定义strin ...

  5. spring+quartz的任务调度

    公司网站有个功能是自动投标,还有定时更新用户的排名信息,这些都是spring+quartz实现的. 手机了一些资料,做一个小demo,加深理解,记录一下,以后使用的时候不会出什么问题. 需要的包,主要 ...

  6. stringBuilder类的一些用法

    对String对象进行处理的时候比如拼接.截取,会在内存中新建很多字符串对象.为了减少内存开支,可以使用StringBuilder类型. 创建StringBuiler实例: 用构造函数直接创建: St ...

  7. C#不能捕捉的异常,如AccessViolationException

    在.net的异常机制中,有部分严重的编程错误(系统的某些Corrupted State Exceptions异常)是默认不被用户使用常规的异常捕捉方式捕捉到的. 微软的这种设计方式,是让用户必须处理该 ...

  8. Jenkins+.Net Core+Git集成发布 - SkyMallCore快速开发平台

    准备工作:安装 Jenkins+java 直接百度安装,在此忽略 dotnet sdk(iis部署已经安装) 一:windows 部署到IIS 首先搭建IIS,站点应用程序池选择 ‘无托管代码’ 安装 ...

  9. deepin获取root权限

    ctrk+alt+t 打开终端 输入 sudo passwd root mywork@mywork-PC:~$ sudo passwd root[sudo] mywork 的密码: [sudo] 输入 ...

  10. Eclipes批量创建文件夹

    package file; import java.io.File; import java.io.IOException; import java.util.Scanner; public clas ...