mysql主从配置

Mysql使用ProxySQL实现读写分离

本秂侑毒 提交于 2020-02-26 15:59:58
ProxySQL简介: ProxySQL是一个高性能的MySQL中间件,拥有强大的规则引擎。 详细的中文介绍: 别人写的,基本跟官方无差别 官方文档: https://github.com/sysown/proxysql/wiki/ 下载地址: https://github.com/sysown/proxysql/releases 准备工作 本文所用环境: 系统均为CentOS7.4,并且关闭防火墙和selinux ProxySQL版本:proxysql-1.4.8-1-centos7.x86_64.rpm Mysql版本:mariadb 5.5.56-2.el7 ProxySQL主机IP:192.168.100.2 Mysql主库IP:192.168.100.3 Mysql从库IP:192.168.100.4 前提条件: Mysql主从已经配置好了同步 开始安装ProxySQL 安装ProxySQL: wget https://github.com/sysown/proxysql/releases/download/v1.4.8/proxysql-1.4.8-1-centos7.x86_64.rpm yum install -y proxysql-1.4.8-1-centos7.x86_64.rpm #proxysql需要依赖一些perl库,所以使用yum安装 #安装生成的文件:

mysql-atlas安装及使用教程

左心房为你撑大大i 提交于 2020-02-26 15:43:28
Atlas是由 Qihoo 360公司Web平台部基础架构团队开发维护的一个基于MySQL协议的数据中间层项目。它在MySQL官方推出的MySQL-Proxy 0.8.2版本的基础上,修改了大量bug,添加了很多功能特性。目前该项目在360公司内部得到了广泛应用,很多MySQL业务已经接入了Atlas平台,每天承载的读写请求数达几十亿条。同时,有超过50家公司在生产环境中部署了Atlas,超过800人已加入了我们的开发者交流群,并且这些数字还在不断增加。 github地址 介绍 一、安装 安装 在安装之前, 服务器上必须要装有mysql, altas会用到mysql的组件。 在启动时, 可能提示faild start altas of test之类的信息, 解决方法如下 echo '/usr/local/mysql/lib/' >> /etc/ld.so.conf ldconfig 二、配置说明 [mysql-proxy] (必备,默认值即可)管理接口的用户名 admin-username = user (必备,默认值即可)管理接口的密码 admin-password = pwd (必备,根据实际情况配置)主库的IP和端口 proxy-backend-addresses = 192.168.0.12:3306 (非必备,根据实际情况配置)从库的IP和端口,@后面的数字代表权重

关于MariaDB.10.5.1 主从复制介绍

余生颓废 提交于 2020-02-26 12:35:09
提示:本博文演示环境是基于centos7.2 x86_64位,最小化安装系统,MariaDB.10.5.1二进制安装来进行的 一、简单介绍下slave库的并行复制模式 slave_parallel_mode的 slave并行复制的5种模式: 官方给的5种模式 Description: Controls what transactions are applied in parallel when using parallel replication. optimistic: tries to apply most transactional DML in parallel, and handles any conflicts with rollback and retry. See optimistic mode. conservative: limits parallelism in an effort to avoid any conflicts. See conservative mode. aggressive: tries to maximize the parallelism, possibly at the cost of increased conflict rate. minimal: only parallelizes the commit steps of

MySQL级联复制

微笑、不失礼 提交于 2020-02-26 05:38:54
MySQL级联复制 在生产换进中有一种主从复制的方法主节点先将数据同步到一个中间的从节点,然后由从节点给后续的其他从节点来复制数据,这种复制方式称为级联复制。 级联复制的好处是可以极大的减轻主节点的压力 级联复制在配置时需要在中间节点上启用log_slave_updates的选项。 级联复制的配置方法 准备主机4台,1台主节点(Master),1台中间从节点(Slave),1台从节点(Slave1) 主机 系统 ip Master CentOS7 192.168.73.110 Slave CentOS7 192.168.73.111 Slave1 CentOS7 192.168.73.112 主节点配置(Master) 1.修改配置文件 [mysqld] log-bin=/data/bin/mysql-bin #启动二进制日志 binlog-format=row #修改日志格式 server-id=1 2.创建二级制日志目录 [root@Master ~]# mkdir /data/bin [root@Master ~]# chown -R mysql.mysql /data/bin 3.启动服务,查看当前二进制日志所在的位置 [root@Master ~]# systemctl start mariadb [root@Master ~]# mysql -e "SHOW

详解mycat+haproxy+keepalived搭建高可用负载均衡mysql集群

邮差的信 提交于 2020-02-26 02:35:40
概述 目前业界对数据库性能优化普遍采用集群方式,而oracle集群软硬件投入昂贵,mysql则比较推荐用mycat去搭建数据库集群,下面介绍一下怎么用mycat+haproxy+keepalived搭建一个属于mysql数据库的高可用负载均衡。 主要思路: 简单说,实现mysql主备复制-->利用mycat实现负载均衡。 比较了常用的读写分离方式,推荐mycat,社区活跃,性能稳定。 以下基于centos7操作系统进行演示。 架构图 以下是这次搭建的架构图。 主机1与主机2上的keepalived会为该服务器抢占vip,抢占到vip后,对该主机的访问可以通过原来的ip访问,也可以直接通过vip访问,当其中一台宕机时,vip会漂移到另一台机器上,当我们访问VIP时haproxy会根据配置将请求分发到两台Mycat上实现负载均衡,并且haproxy会检测mycat是否存活。 下面先介绍下后端数据库的搭建部分。 一、安装部署mysql 1、安装依赖 yum install tcl gcc perl perl-JSON.noarch perl-Time-HiRes.x86_64 -y 2、创建基础目录并修改文件夹的属组 mkdir -p /data/datafile mkdir -p /data/log chown -R mysql:mysql /data 3、安装mysql数据库

构建 MariaDB Galera Cluster 分布式数据库集群(一)

核能气质少年 提交于 2020-02-26 02:34:31
MariaDB Galera Cluster 介绍 简介 MariaDB集群是MariaDB同步多主机集群,仅支持XtraDB(详见本文结尾注释)/InnoDB存储引擎(虽然有对MyISAM实验支持 - 看wsrep_replicate_myisam系统变量) 主要功能 同步复制 --- Galera主从复制是同步的,底层依赖rsync; 真正的multi-master,即所有节点可以同时读写数据库; 自动的节点成员控制,失效节点自动被清除; 新节点加入数据自动复制; 真正的并行复制,行级; 用户可以直接连接集群,使用感受上与MySQL完全一致; 优势 因为是多主,所以不存在Slavelag(延迟) 不存在丢失事务的情况 同时具有读和写的扩展能力 更小的客户端延迟 节点间数据是同步的,而Master/Slave模式是异步的,不同slave上的binlog可能是不同的 说明 Galera集群的复制功能基于Galeralibrary实现,为了让MySQL与Galera library通讯,特别针对MySQL开发了wsrep API。 以下内容摘自于 https://mariadb.com/kb/en/mariadb/getting-started-with-mariadb-galera-cluster/,是在发布 MariaDB 10.1版本时摘录的 MariaDB Galera

搭建主从复制数据库

。_饼干妹妹 提交于 2020-02-26 01:54:10
主库 #创建目录 mkdir /data/mysql/master01 cd /data/mysql/master01 mkdir conf data chmod 777 * -R #创建配置文件 cd /data/mysql/master01/conf vim my.cnf #输入如下内容 [mysqld] #开启二进制日志 log-bin=mysql-bin #服务id,不可重复 server-id=1 sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' binlog_format=MIXED #创建容器, 并启动 docker run --privileged=true --name percona-master01 -v /data/mysql/master01/data:/var/lib/mysql -v /data/mysql/master01/conf:/etc/my.cnf.d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root percona:5.7.23 #创建同步账户以及授权 create user 'itcast'@'%'

MySQL高可用集群之MHA

血红的双手。 提交于 2020-02-26 01:53:37
MySQL高可用集群之MHA 一、MHA简介 MHA(Master High Availability) 目前在MySQL高可用方面是一个相对成熟的解决方案,它由日本DeNA公司youshimaton(现就职于Facebook公司)开发,是一套优秀的作为MySQL高可用性环境下故障切换和主从提升的高可用软件。 在MySQL故障切换过程中,MHA能做到在0~30秒之内自动完成数据库的故障切换操作,并且在进行故障切换的过程中,MHA能在最大程度上保证数据的一致性,以达到真正意义上的高可用。 MHA里有两个角色一个是 MHA Node(数据节点) 另一个是MHA Manager(管理节点) 。 MHA Manager 可以单独部署在一台独立的机器上管理多个master-slave集群,也可以部署在一台slave节点上。 MHA Node 运行在每台MySQL服务器上,MHA Manager会定时探测集群中的master节点,当master出现故障时,它可以自动将最新数据的slave提升为新的master,然后将所有其他的slave重新指向新的master。整个故障转移过程对应用程序完全透明。 MHA自动故障切换过程中,MHA试图从宕机的主服务器上保存二进制日志,最大程度的保证数据的不丢失,但这并不总是可行的。例如,如果主服务器硬件故障或无法通过ssh访问,MHA没法保存二进制日志

MySQL高可用之MHA部署

半腔热情 提交于 2020-02-26 01:48:33
MHA(Master High Availability)目前在MySQL高可用方面是一个相对成熟的解决方案,在MySQL故障切换过程中,MHA能做到在0~30秒之内自动完成数据库的故障切换操作,并且在进行故障切换的过程中,MHA能在最大程度上保证数据的一致性,以达到真正意义上的高可用。 MHA里有两个角色一个是MHA Node(数据节点)另一个是MHA Manager(管理节点)。 MHA Manager可以单独部署在一台独立的机器上管理多个master-slave集群,也可以部署在一台slave节点上。MHA Node运行在每台MySQL服务器上,MHA Manager会定时探测集群中的master节点,当master出现故障时,它可以自动将最新数据的slave提升为新的master,然后将所有其他的slave重新指向新的master。整个故障转移过程对应用程序完全透明。 MHA工作架构示意图如下: 在MHA架构中,可以采用半同步复制的方式,来最大限度的保证数据的一致性,MySQL的主从复制中,默认是采用异步来做主从复制的,但是异步有些弊端,下面是对异步、半同步的一个简单介绍: 异步与半同步:默认情况下MySQL的复制是异步的,Master上所有的更新操作写入Binlog之后并不确保所有的更新都被复制到Slave之上。异步操作虽然效率高,但是在Master

Orchestrator 单节点模式介绍

允我心安 提交于 2020-02-26 01:25:40
一、环境说明: 1.1、3台vm虚拟机系统环境介绍: 3台VM系统为: [root@mgr01 ~]# cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core) 3台VM centos 系统都关闭iptables,关闭selinux 3台虚拟机系统时间同步: ntpdate ntp1.aliyun.com 3台vm虚拟机上各安装一个orchestrator mysql orchestrator版本为:orchestrator-3.1.4-linux-amd64.tar.gz 下载地址: https://github.com/github/orchestrator/releases mysql的版本为mysql5.7.24 GA 二进制版本安装 三台机器ip: 10.0.0.130 172.16.0.130 10.0.0.131 172.16.0.131 10.0.0.132 172.16.0.132 三台vm绑定主机名: [root@mgr01 bin]# cat /etc/hosts 172.16.0.130 mgr01 172.16.0.131 mgr03 172.16.0.132 mgr02 [root@mgr02 ~]# cat /etc/hosts 172.16.0.132 mgr02 172.16.0