mysql主从配置

Amoeba for mysql 读写分离

馋奶兔 提交于 2019-12-10 15:16:20
Amoeba(变形虫)项目 http://docs.hexnova.com/amoeba/ ,该开源框架于2008年 开始发布一款 Amoeba for Mysql软件。这个软件致力于MySQL的分布式数据库前端代理层,它主要在应用层访问MySQL的 时候充当SQL路由功能,专注于分布式数据库代理层(Database Proxy)开发。座落与 Client、DB Server(s)之间,对客户端透明。具有负载均衡、高可用性、SQL 过滤、读写分离、可路由相关的到目标数据库、可并发请求多台数据库合并结果。 通过Amoeba你能够完成多数据源的高可用、负载均衡、数据切片的功能,目前Amoeba已在很多 企业的生产线上面使用,但amoeba目前不支持事务。 环境:数据库master服务器 192.168.32.131 数据库slave服务器 192.168.32.132 amoeba for mysql 192.168.32.130 一、主从配置过程略(见上下文) 二、master 创建读写分离连接用户 mysql > grant all on *.* to 'proxy'@'192.168.32.130' identified by 'proxy'; #从服务器会自动同步 三、amoeba代理服务器 1、amoeba基于Java开发,首先安装jdk 官网最新jdk wget -c

MySQL 主从理论知识+搭建主从

狂风中的少年 提交于 2019-12-10 14:53:43
什么是MySQL主从同步 数据是一个应用至关重要的一部分。 从目的出发,主从同步有那么点备份的意思,主库(Master)将自己库中的写入同时同步给自己的从库(Slave), 当主库发生某些不可预知的状况,导致整个服务器无法使用时,由于从库中也有一份数据,所以数据可以做到快速恢复,不造成或者减少造成数据的损失。 当然,这只是第一个层面,如果主从库的作用仅限于此,那么我个人认为没有必要分为两个数据库,只需要定期将数据库内容作为快照发送到另一台服务器,或者每次写入时将写入内容实时发送到另一台服务器不就好了吗,这样不但可以节约资源,也可以起到容灾备份的目的。 当然主从同步的作用绝不可能仅限于此,一旦我们配置了主从结构,我们通常不会让从节点仅仅只作为备份数据库,我们应该还会相应地配置上读写分离 (可以使用MyCat或者其它中间件,可以自己了解一下,关于MyCat我在下一篇博客中会说这个,篇幅可能会有点长,所以就再写一篇吧)。 在实际环境下,对于数据库的读操作数目远大于对数据库的写操作,所以我们可以让Master只提供写的功能,然后将所有的读操作都移到从库,这就是我们平时常说的读写分离, 这样不但可以减轻Master的压力,还可以做容灾备份,一举两得 。 MySQL主从同步的原理 说完了主从同步的概念,下面来说说主从同步的原理,其实原理也非常简单,没有Redis集群那么多的概念。

部署MYSQL高可用集群

拈花ヽ惹草 提交于 2019-12-10 12:14:17
mysql-day08 部署 MYSQL 高可用集群 u 集群架构 MHA 工作过程 • MHA Manager 会定时探测集群中的 master 节点 , 当 master 出现故障时 , 它可以自动将最新数据的 sl ave 提升为新的 master , 然后将所有其他的 slave 重新指向新的 master 。整个故障转移过程对应用程 序完全透明。 – ( 1 ) 从宕机崩溃的 master 保存二进制日志事件 ( binlog events) – ( 2 ) 识别含有最新更新的 slave – ( 3 ) 应用差异的中继日志 ( relay log ) 到其他的 slave – ( 4 ) 应用从 master 保存的二进制日志事件 ( binlog events ) – ( 5 ) 提升一个 slave 为新的 master ; – ( 6 ) 使其他的 slave 连接新的 master 进行复制 ; u 准备环境 一、集群定义:使用多台服务提供相同的服务 二、高可用集群定义:主备模式,被客户端访问的称作主,当主宕机时,备用 服务器自动接收客户端访问。 拓扑结构 client | | --> vip 192.168.4.100 《 51 , 52 , 53 》 _____________________________________________________

部署mysql主从同步

☆樱花仙子☆ 提交于 2019-12-10 10:54:20
mysql-day06 部署mysql主从同步 案例拓扑 • 一主、一从 – 单向复制时 , 建议将从库设为只读 一、什么是 mysql主从同步 主:正在被客户端访问的数据库服务器,被称作主库服务器。 从:自动同步主库上的数据的数据库服务器,被称作从库服务器。 主从同步结构模式介绍 •基本应用 –单向复制 : 主 --> 从 •扩展应用 –链式复制 : 主 --> 从 --> 从 –双向复制 : 主 <--> 从 –放射式复制 : 从 <-- 主 --> 从 | 从 主从同步原理 ( 续 1 ) 基本构建思路 1. 确保数据相同 –从库必须要有主库上的数据。 2. 配置主服务器 –启用 binlog 日志及设置格式 , 设置 server_id, 授权用 户 3. 配置从服务器 –设置 server_id, 指定主数据库服务器信息 4. 测试配置 –客户端连接主库 , 写入的数据 , 在连接从库的时候也 能够访问到。 相关命令 mysql>show slave status;#显示从库状态信息 mysql>show master status;#显示本机的binlog日志文件信息 mysql>show processlist;#查看当前数据库服务器上正在执行的程序 mysql>start slave;#启动slave进程 mysql>stop slave;#停止slave进程 **

MySQL主从复制的配置

为君一笑 提交于 2019-12-09 23:22:22
MySQL 主从复制的配置 环境 操作系统:CentOS-6.6-x86_64-bin-DVD1.iso MySQL版本:mysql-5.6.26.tar.gz 主节点IP:192.168.1.205 主机名:edu-mysql-01 从节点IP:192.168.1.206 主机名:edu-mysql-02 主机配置:4核CPU、4G内存 依赖课程 《高可用架构篇--第13节--MySQL源码编译安装(CentOS-6.6+MySQL-5.6)》 MySQL 主从复制官方文档 http://dev.mysql.com/doc/refman/5.6/en/replication.html MySQL 主从复制的方式 MySQL5.6开始主从复制有两种方式:基于日志(binlog)、基于GTID(全局事务标示符)。 本教程主要讲基于日志(binlog)的复制。 MySQL 主从复制(也称A/B 复制)的原理 (1) Master将数据改变记录到二进制日志(binarylog)中,也就是配置文件log-bin指定的文件,这些记录叫做二进制日志事件(binary log events); (2) Slave通过I/O线程读取Master中的binary logevents并写入到它的中继日志(relay log); (3) Slave重做中继日志中的事件

MySQL 部署分布式架构 MyCAT (一)

三世轮回 提交于 2019-12-09 20:01:08
架构 环境 主机名 IP db1 192.168.31.205 db2 192.168.31.206 前期准备 开启防火墙,安装配置 mysql (db1,db2) firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.31.0/24" accept" firewall-cmd --reload mkdir /software # 把软件 mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz 上传到 /software cd /usr/local/ tar zxf /software/mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz mv mysql-5.7.20-linux-glibc2.12-x86_64 mysql # 初始化数据 mkdir /data/33{07..10}/data -p mysqld --initialize-insecure --user=mysql --datadir=/data/3307/data --basedir=/usr/local/mysql mysqld --initialize-insecure --user=mysql --datadir=/data

Mysql主从复制

China☆狼群 提交于 2019-12-09 16:54:59
Mysql传统主从复制 参考文章 官方文档: https://dev.mysql.com/doc/refman/5.7/en/replication.html 深入Mysql复制: https://www.cnblogs.com/f-ck-need-u/p/9155003.html sync_binlog字段解释: https://www.cnblogs.com/Cherie/p/3309503.html Mysql error 1236原因和解决方法: https://www.cnblogs.com/zhoujinyi/p/4760184.htmll Mysql配置详解: https://www.jianshu.com/p/b0cf461451fb 一、基本概念和原理 概念 官方文档 : Replication enables data from one MySQL database server (the master) to be copied to one or more MySQL database servers (the slaves). Replication is asynchronous by default; slaves do not need to be connected permanently to receive updates from the

单表60亿记录等大数据场景的MySQL优化和运维之道 | 高可用架构

天涯浪子 提交于 2019-12-08 18:18:57
此文是根据杨尚刚在【QCON高可用架构群】中,针对MySQL在单表海量记录等场景下,业界广泛关注的MySQL问题的经验分享整理而成,转发请注明出处。 杨尚刚,美图公司数据库高级DBA,负责美图后端数据存储平台建设和架构设计。前新浪高级数据库工程师,负责新浪微博核心数据库架构改造优化,以及数据库相关的服务器存储选型设计。 前言 MySQL数据库大家应该都很熟悉,而且随着前几年的阿里的去IOE,MySQL逐渐引起更多人的重视。 MySQL历史 1979年,Monty Widenius写了最初的版本,96年发布1.0 1995-2000年,MySQL AB成立,引入BDB 2000年4月,集成MyISAM和replication 2001年,Heikki Tuuri向MySQL建议集成InnoDB 2003发布5.0,提供了视图、存储过程等功能 2008年,MySQL AB被Sun收购,09年推出5.1 2009年4月,Oracle收购Sun,2010年12月推出5.5 2013年2月推出5.6 GA,5.7开发中 MySQL的优点 使用简单 开源免费 扩展性“好”,在一定阶段扩展性好 社区活跃 性能可以满足互联网存储和性能需求,离不开硬件支持 上面这几个因素也是大多数公司选择考虑MySQL的原因。不过MySQL本身存在的问题和限制也很多,有些问题点也经常被其他数据库吐槽或鄙视

mysql主从配置,读写分离

馋奶兔 提交于 2019-12-08 18:09:16
Mysql主从配置,实现读写分离 大型网站为了软解大量的并发访问,除了在网站实现分布式负载均衡,远远不够。到了数据业务层、数据访问层,如果还是传统的数据结构,或者只是单单靠一台服务器扛,如此多的数据库连接操作,数据库必然会崩溃,数据丢失的话,后果更是 不堪设想。这时候,我们会考虑如何减少数据库的联接,一方面采用优秀的代码框架,进行代码的优化,采用优秀的数据缓存技术如:memcached,如果资金丰厚的话,必然会想到假设服务器群,来分担主数据库的压力。Ok切入今天微博主题,利用MySQL主从配置,实现读写分离,减轻数据库压力。这种方式,在如今很多网站里都有使用,也不是什么新鲜事情,今天总结一下,方便大家学习参考一下。 概述:搭设一台Master服务器(win8.1系统,Ip:192.168.0.104),搭设两台Slave服务器(虚拟机——一台Ubuntu,一台 Windows Server 2003) 原理:主服务器(Master)负责网站NonQuery操作,从服务器负责Query操作,用户可以根据网站功能模特性块固定访问Slave服务器,或者自己写个池或队列,自由为请求分配从服务器连接。主从服务器利用MySQL的二进制日志文件,实现数据同步。二进制日志由主服务器产生,从服务器响应获取同步数据库。 具体实现: 1、在主从服务器上都装上MySQL数据库 (1

MySQL海量数据分布式存储

心不动则不痛 提交于 2019-12-08 18:09:06
 本文只是一个概念,具体配置太多,这里不做细节描述。   1、分布式应用的概念和优势   分布式数据库是指利用高速网络将物理上分散的多个数据 存储 单元连接起来组成一个逻辑上统一的数据库。分布式数据库的基本思想是将原来集中式数据库中的数据分散存储到多个通过网络连接的数据存储节点上,以获得更大的存储容量和更高的并发访问量。近年来,随着数据量的增长,分布式数据库技术也得到了快速的发展,传统的关系型数据库开始从集中式模型向分布式存储,从集中式计算走向分布式计算。   分布式数据库系统的主要目的是容灾、异地数据备份,并且通过就近访问原则,用户可以就近访问数据库节点,这样就实现了异地的负载均衡。同时,通过数据库之间的数据传输同步,可以分布式保持数据的一致性,这个过程完成了数据备份,异地存储数据在单点故障的时候不影响服务的访问,只需要将访问流量切换异地镜像就行。   分布式数据库应用的优势如下:   (1)适合分布式数据管理,能够有效提高系统性能。   (2)系统经济性和灵活性好。   (3)系统的可靠性和可用性强。   2、mysql分布式应用的主要技术   (1)mysql数据切割   数据切割(sharding)是指通过某种特定的条件,将存放在同一数据库中的数据分散存放到多个数据库(主机)上面,以达到分散单台设备负载的效果。数据切分还可以提高系统的总体可用性,因为单台crash之后