MySQL多实例实现半同步复制

MySQL多实例实现半同步复制

主库1:192.168.40.150

主库2:192.168.40.161

从库(2个MySQL实例):192.168.40.162

一:分别在192.168.40.161和192.168.40.150使用【show master status;】记录当前的复制位置

如下所示

mysql> show master status;

+--------------+----------+--------------+------------------+-------------------+

| File         | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |

+--------------+----------+--------------+------------------+-------------------+

| mysql.000006 | 11426362 |              |                  |                   |

+--------------+----------+--------------+------------------+-------------------+

1 row in set (0.00 sec)

二:master(分别在192.168.40.161和192.168.40.150进行如下操作)

1.启用二进制日志

log_bin=mysql

log-bin-index=mysql-index

2.为master选择一个在当前复制架构中惟一的server-id

server-id={0-2^32}

3.创建一个具有复制权限的用户帐号

mysql> GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'repluser'@'192.168.40.162' IDENTIFIED BY 'replpass';

mysql> FLUSH PRIVILEGES;

4.分别master的配置文件中的mysqld段添加如下一行,并重启服务

rpl_semi_sync_master_enabled=ON (或者:mysql> INSTALL PLUGIN rpl_semi_sync_master SONAME 'semisync_master.so';)

mysql> SHOW GLOBAL VARIABLES LIKE '%semi%';

mysql> SET GLOBAL rpl_semi_sync_master_enabled=ON;

mysql> SET GLOBAL rpl_semi_sync_master_timeout=1000;

5.配置主从复制时的事务安全:

在主服务器上mysqld段配置:sync_binlog=1

6.重启mysql服务

二、slave(在192.168.40.162的两个mysql实例中进行如下操作)

1.在192.168.40.162配置两个实例:socket端口分别为3306和3307,具体配置请参考配置文件。

2.创建所需要的目录

mkdir -p /data/{mysql3306,mysql3307}

3.分别对192.168.40.161和192.168.40.150的数据目录打包,然后分别上传至192.168.40.162的/data/mysql3306和/data/mysql3307目录下

例如:

# cd /data/mysql/

# tar zcf mysql_162.tar.gz ./*

# scp mysql_162.tar.gz 192.168.40.162:/data/mysql3306/

4.启用中继日志(并关闭二进制日志)

relay-log=/data/mysql3306/relay-3306.log

relay-log-index=/data/mysql3306/relay-log-index-3306.log

5.为slave选择一个在当前复制架构中惟一的server-id

server-id={0-2^32}

6.为slave选择一个在当前复制架构中惟一的server-uuid

修数据目录下的auto.cnf 修数据目录下的auto.cnf 的server-uuid

如将

server-uuid=3fd1f0a1-b34e-11e4-996a-000c29b1b59d

修改为

server-uuid=3fd1f0a1-b34e-11e4-996a-000c29b1b52d

5、复制过滤器

slave:

replicate-ignore-db=mysql

replicate-ignore-db=information_schema

replicate-ignore-db=performance_schema

8.重启mysql服务

9.开启半同步复制

从服务器:

mysql> INSTALL PLUGIN rpl_semi_sync_slave SONAME 'semisync_slave.so';

mysql> SET GLOBAL rpl_semi_sync_slave_enabled=ON;

在主服务器验正半同步复制是否生效:

mysql> SHOW GLOBAL STATUS LIKE '%semi%';

9.连接至主服务器

mysql> CHANGE MASTER TO MASTER_HOST='192.168.40.161', MASTER_USER='repluser',  MASTER_PASSWORD='replpass',  MASTER_PORT=3306,  MASTER_LOG_FILE='mysql.000006', MASTER_LOG_POS=11426362;

mysql> START SLAVE;

10.检查主从是否成功

mysql> show slave status;

主服务器配置文件:
[root@db_peizi1 ~]# more /etc/my.cnf
[client]
port=3306
socket = /usr/local/mysql/mysql.sock[mysql]
default-character-set=utf8[mysqld]
port            = 3306
socket          = /usr/local/mysql/mysql.sock
basedir=/usr/local/mysql
datadir=/data/mysql
server_id=1
user=mysql
skip-name-resolve
log_bin=mysql
expire_logs_days = 30sync_binlog=1
rpl_semi_sync_master_enabled=ON#slow_log
slow-query-log=On
slow_query_log_file=/data/logs/mysql/peizi-slow.log
long_query_time=1# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0character-set-server=utf8
default-storage-engine=InnoDB
explicit_defaults_for_timestamp=trueskip-external-lockingmax_connections=300
query_cache_size=1048576
performance_schema_max_table_instances=600
table_definition_cache=400
table_open_cache=256
tmp_table_size=64M
max_heap_table_size=64M
thread_cache_size=16myisam_max_sort_file_size=16G
myisam_sort_buffer_size=32M
key_buffer_size=25M
read_buffer_size=128K
read_rnd_buffer_size=256K
sort_buffer_size=256K
join_buffer_size=16M
max_allowed_packet=4Minnodb_file_per_table=1
innodb_flush_log_at_trx_commit=1
innodb_log_buffer_size=2M
innodb_buffer_pool_size=64M
innodb_log_file_size=16M
innodb_thread_concurrency=8sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"[mysqld_safe]
log-error=/data/logs/mysql/mysqld.log
pid-file=/usr/local/mysql/tmp/mysqld.pid多实例从服务器配置文件:
[mysqld_multi]
mysqld = /usr/local/mysql/bin/mysqld_safe
mysqladmin = /usr/local/mysql/bin/mysqladmin[mysql]
default-character-set=utf8[mysqld1]
port            = 3306
socket          = /usr/local/mysql/mysql-3306.sock
basedir=/usr/local/mysql
datadir=/data/mysql3306
pid-file=/var/lock/subsys/mysql3306/mysq-3306.pid
server_id=11
user=mysql
skip-name-resolve
expire_logs_days = 30master-info-file=/data/mysql3306/master-3306.info
read-only
relay-log=/data/mysql3306/relay-3306.log
relay-log-index=/data/mysql3306/relay-log-index-3306.log
replicate-ignore-db=mysql
replicate-ignore-db=information_schema
replicate-ignore-db=performance_schema# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0character-set-server=utf8
default-storage-engine=InnoDB
explicit_defaults_for_timestamp=trueskip-external-lockingmax_connections=300
query_cache_size=1048576
performance_schema_max_table_instances=600
table_definition_cache=400
table_open_cache=256
tmp_table_size=64M
thread_cache_size=16myisam_max_sort_file_size=16G
myisam_sort_buffer_size=32M
key_buffer_size=25M
read_buffer_size=128K
read_rnd_buffer_size=256K
sort_buffer_size=256K
join_buffer_size=16M
max_allowed_packet=4Minnodb_file_per_table=1
innodb_flush_log_at_trx_commit=1
innodb_log_buffer_size=2M
innodb_buffer_pool_size=64M
innodb_log_file_size=8M
innodb_thread_concurrency=8lower_case_table_names=1
sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"[mysqld2]
port            = 3307
socket          = /usr/local/mysql/mysql-3307.sock
basedir=/usr/local/mysql
datadir=/data/mysql3307
pid-file=/var/lock/subsys/mysql3307/mysql-3307.pid
server_id=6
user=mysql
skip-name-resolve
expire_logs_days = 30master-info-file=/data/mysql3307/master-3307.info
read-only
relay-log=/data/mysql3307/relay-3307.log
relay-log-index=/data/mysql3307/relay-log-index-3307.log
replicate-ignore-db=mysql
replicate-ignore-db=information_schema
replicate-ignore-db=performance_schema# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0character-set-server=utf8
default-storage-engine=InnoDB
explicit_defaults_for_timestamp=trueskip-external-lockingmax_connections=300
query_cache_size=1048576
performance_schema_max_table_instances=600
table_definition_cache=400
table_open_cache=256
tmp_table_size=64M
thread_cache_size=16myisam_max_sort_file_size=16G
myisam_sort_buffer_size=32M
key_buffer_size=25M
read_buffer_size=128K
read_rnd_buffer_size=256K
sort_buffer_size=256K
join_buffer_size=16M
max_allowed_packet=4Minnodb_file_per_table=1
innodb_flush_log_at_trx_commit=1
innodb_log_buffer_size=2M
innodb_buffer_pool_size=64M
innodb_log_file_size=8M
innodb_thread_concurrency=8lower_case_table_names=1
sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

转载于:https://blog.51cto.com/openlinuxfly/1643835

MySQL多实例实现半同步复制相关推荐

  1. percona mysql.cnf_Percona MySQL5.6 半同步复制

    先配置普通的clone 两台服务器,一主一备 主服务器: 10.10.1.30 Slave: 10.10.1.200 修改每台机器的my.cnf文件,分别修改server_id 主服务器server_ ...

  2. mysql semisync 恢复_mysql半同步复制(semi_sync_replication)搭建及使用

    mysql半同步复制(semi_sync_replication)搭建及使用 google为mysql开发了一个补丁一个基于半同步的补丁,应用与mysql5.0.回来mysql打上了该补丁,并在5.5 ...

  3. mysql的主从复制和半同步复制的配置

    主从复制: 其实就是复制的是主服务器的二进制日志,从服务器然后再重新根据日志操作一遍,从而达到和主服务器里的数据一样,但是时间上会有延迟 mysql主从复制的基本原理 官方文档:https://dev ...

  4. mysql 5.5半同步复制_(5.5)mysql高可用系列——MySQL半同步复制(实践)

    关键词,mysql半同步复制 [0]实验环境 操作系统:CentOS linux 7.5 数据库版本:5.7.24 数据库架构:主从复制,主库用于生产,从库用于数据容灾和主库备机,采用默认传统的异步复 ...

  5. MHA-结合MySQL半同步复制高可用集群(Centos7)

    目录 一.理论概述 本案例部署思路 二.环境 三.部署 部署MHA 部署二进制包MySQL及部署主从复制 部署半同步复制 配置MHA MHA测试 部署lvs+keepalived(lvs1,lvs2) ...

  6. mysql主主复制半同步_mysql主从复制中的半同步复制

    实验mysql借助google提供的插件,完成半同步复制模型: 物理机依然是win7系统,虚拟机为centos7: 主节点:192.168.255.2 从节点:192.168.255.3 先配置为主从 ...

  7. Mysql原理、主从复制、半同步复制及基于SSL复制

    本篇博文主要讲解Mysql主从复制.半同步.基于SSL加密的复制 简介 MySQL是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MySQL AB公司.MySQL被广泛地应用在Internet上 ...

  8. mysql 半同步复制_Mysql半同步复制原理及问题排查

    mysql半同步复制和异步复制的差别如上述架构图所示:在mysql异步复制的情况下,Mysql Master Server将自己的Binary Log通过复制线程传输出去以后,Mysql Master ...

  9. Mysql进阶(1)——异步复制(主从复制、Gtid复制)、半同步复制

    前言 原理总结 异步复制:在主节点写入日志即返回成功,默认情况下MySQL5.5/5.6/5.7和mariaDB10.0/10.1的复制功能是异步的.异步复制可以实现最佳的性能,主库把binlog日志 ...

最新文章

  1. 软件开发经验总结(一)细节决定软件的成败
  2. 减少Android staido 占用C 盘
  3. Django中的auth模块
  4. [导入]在ASP.NET中跨页面实现多选
  5. 计算机图形学二维变换知识点,计算机图形学 二维变换及二维.ppt
  6. [原]问题解决办法:there are offline or missing virtual drivers with preserved cache
  7. 万圣趴的神秘南瓜仙人,送你3本惊喜Python好书
  8. thinkphp5项目--个人博客(八)
  9. adams功能区不显示_百科Esri大赛获奖作品分享:融合OSM道路网和百度POI数据的城市功能区识别...
  10. 计算机恢复原始桌面图标,Win10桌面图标如何恢复原来排列?
  11. php使用加密狗,加密狗使用方法
  12. 潇潇六月雨 input file里的JQ change() 事件的只生效一次
  13. linux内核学习(5)山重水复疑无路*
  14. 小米关机一直显示android,小米手机一直卡在fastboot怎么办
  15. 数据库系统期末总结(三)(往届试卷2018年12月A卷、B卷、E卷,2019年5月A卷,选择题终篇)
  16. 所有API接口分类,淘宝/天猫API、1688API、拼多多API、京东API、各大电商API接口及测试平台
  17. 自定义柱状图(水滴图)的填坑之路
  18. Keystone 认证服务
  19. 【MATLAB】用地图表白:绘制Bonne投影下的世界地图
  20. 电脑计算器所有快捷键

热门文章

  1. 01_常用 Linux 命令的基本使用
  2. BZOJ 1051: [HAOI2006]受欢迎的牛
  3. 剑指offer の 1-10 之javascript实现
  4. oracle使用parallel并行,多线程查询
  5. 使用序列化实现对象的拷贝(转载)
  6. Python 深拷贝和浅拷贝
  7. 100阶乘末尾有多少个零
  8. NSCTF-部分题目wp
  9. JS----JavaScript中防抖和节流知识概述
  10. java开发常用jar包_Java开发中常用jar包整理及使用