CentOS 7 下 MySql5.7 主从配置

演示用两台全新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;

时间: 2024-11-06 18:20:26

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

CentOS 7下的 Mysql 主从配置

最近在玩mysql主从配置,在此记录一下 一.前言 1.安装两个虚拟机(CentOS 7).iP分别是192.168.47.131 和192.168.47.133.其中192.168.47.133作为主数据库,192.168.47.131作为从数据库 2.在线安装Mysql数据库.具体安装方法请参考: 3.在主从数据库中创建 testdb 数据库.(作为同步的数据库) 二.具体步骤 1.主数据库(master)配置 (1)在Master MySQL上创建一个用户‘test’,并允许其他Slave

centos 7 下nagios 安装和配置

        centos 7 下nagios 安装和配置 一.yum -y install httpd gcc glibc glibc-common *gd* php php-mysql mysql mysql-server mysql-devel php-snmp net-snmp net-snmp-libs net-snmp-utils php-pdo perl-DBD-MySQL rrd-tool   perl-rrdtool             rrdtool-devel  ma

mysql5.5 主从配置

Mysql的主从复制至少是需要两个Mysql的服务,当然Mysql的服务是可以分布在不同的服务器上,也可以在一台服务器上启动多个服务.(1)首先确保主从服务器上的Mysql版本相同(2)在主服务器上,设置一个从数据库的账户,使用REPLICATION SLAVE赋予权限,如:mysql> GRANT REPLICATION SLAVE ON *.* TO 'slave001'@'172.16.10.143' IDENTIFIED BY '123456';Query OK, 0 rows affe

CentOS 7 下 MySQL 5.7 配置 Percona Xtrabackup

CentOS 7 下 MySQL 5.7 配置 Percona Xtrabackup 2017-05-10 | 标签: centos, mysql, xtrabackup, yum https://qizhanming.com/ 前言 CentOS 7 下 MySQL 5.7 配置 Percona Xtrabackup ,记录一下大致的安装和配置过程. Percona XtraBackup 的备份工具支持热备份(即不必停止 MySQL 服务而进行备份).热备份方式主要是通过文件系统级别的文件拷贝

Linux中mysql5.7主从配置

MySQL主从配置(两台Linux之间) 简介 Linux下MySQL数据库的主从同步用来实现读写分离.主数据库进行数据的插入,删除与更新:从数据库专门用来查询操作,缓解数据库的压力.让运行海量数据的时候无论是从速度还是效率上都大大提高,Mysql的主从复制至少是需要两个Mysql的服务,当然Mysql的服务是可以分布在不同的服务器上,也可以在一台服务器上启动多个服务. 主从同步原理 一个异步复制过程,从master复制到slave,由三个线程来完成,其中sql线程和IO线程在slave端,另一

Centos DNS服务(二)-bind主从配置与基于TSIG加密的动态更新

DNS的主从配置 DNS从服务器也叫辅服DNS服务器,如果网络上某个节点只有一台DNS服务器的话,首先服务器的抗压能力是有限的,当压力达到一定的程度,服务器就可能会宕机罢工,其次如果这台服务器出现了硬件故障那么服务器管理的区域的域名将无法访问.为了解决这些问题,最好的办法就是使用多个DNS服务器同时工作,并实现数据的同步,这样两台服务器就都可以实现域名解析操作. 从服务器要点 1.应该为一台独立的名称服务器 2.主DNS服务器的区域解析库文件中必须有一条NS记录指向从服务器 3.从DNS服务器只

mysql5.5主从配置

mysql主从同步# 一:mysql数据库的主从 mysql数据库5.5之后的版本和5.5以前的版本数据库主从存在差异,这里是针对数据库5.5之后的配置. 1.主库编辑my.cnf(linux的my.cnf在/etc/my.cnf路径下): [mysqld]#注意下面的配置是要在配置文件的mysqld段进行配置,位置错了可能导致mysql无法启动.很多Mysql无法启动的时候一般都是My.cnf配置错误造成的 #名字随意取名,这个配置的意义是说打开Mysql的binary log功能,因为Mys

Centos(Linux)下用户权限委派配置介绍

说到权限委派,对于一个服务的正常运行至关重要,对于企业中经常说到的一句话就是,权限越大,责任越大,当然危害也是最大的,当权限比较的时候误操作会给应用造成灾难性的损害,所以在权限分配上要绝对小心,当然,一般大的企业中,对于权限分配的是非常详细的,对于同一个服务会分不同的操作权限,所以相对来说比较安全的.这样出了问题直接可以找出对应的责任人.今天我们就介绍一下Centos下的用户权限委派,首先我们都知道Centos(Linux)下最大的权限账户为root,类似在windows中环境中的adminis

centos7下mysql5.6.30配置单机多实例主从半同步复制

1.在master主服务器上执行: mysql> INSTALL PLUGIN rpl_semi_sync_master SONAME 'semisync_master.so'; Query OK, 0 rows affected (0.30 sec) mysql> SET GLOBAL rpl_semi_sync_master_enabled = 1; Query OK, 0 rows affected (0.02 sec) mysql> SET GLOBAL rpl_semi_syn