主从同步与读写分离测试 一.  实验环境(主从同步) Master                   centos 7.3              192.168.138.13 Slave                     centos 7.3               192.168.138.14 二.在master操作 安装并配置文件 [root@localhost ~]# yum install mariadb-server -y [root@localhost ~]# cat…
Hi,各位热爱技术的小伙伴您们好,好久没有写点东西了,今天写点关于mysql主从同步配置的操作日志同大家一起分享.最近自己在全新搭建一个mysql主从同步读写分离数据库简单集群,我讲实际操作步骤整理分享处理,希望对在学习路上的你有所以帮助,当然如果是你是老鸟,写的不好的地方,多多包涵.废话不多说,言归正传,直入主题. 一.背景介绍 Mysql数据库主从同步,数据集群其实大家一点都不陌生,但是实际操作的估计就不一定了.至于为什么要使用主从同步策略,在此我就不必多说了,你懂我知大家晓.说实话原来的项…
1.mysql数据库主从同步读写分离 1.1.主要解决的生产问题 1.2.原理 a.为什么需要读写分离? 一台服务器满足不了访问需要.数据的访问基本都是2-8原则. b.怎么做?  不往从服务器去写了,那就要主上写的操作都要同步到从(主从同步)  (1) master将改变记录到二进制日志(binary log)中(这些记录叫做二进制日志事件,binary log events):  (2) slave将master的binary log events拷贝到它的中继日志(relay log):…
1. 利用 docker 实现 mysql 主从同步 / 读写分离 为了保证数据的完整和安全,mysql 设计了主从同步,一个挂掉还可以用另个.最近重构论坛,想来改成主从吧.担心失误,就先拿 docker 练练手. 通过本文实际你会操作到. mysql 的主从同步 docker 镜像和容器的创建 docker 容器间的数据传递 mycat 入门 以下需要大于 100 的智商和 mysql 基础 docker 基础,linux 基础. 没有也没事,就是看着会有点吃力. 环境是 centos,myc…
1.mysql 安装参考 https://www.cnblogs.com/ttzzyy/p/9063737.html 2. 主mysql,从mysql 指定配置文件启动 mysqld --defaults-file=/etc/my.cnf --user=root 2.1主mysql配置文件my.cnf修改(修改完重启) #添加在[mysqld]后 # # server-id 唯一的服务辨识号,数值位于 1 到 2^32-1之间. # # 此值在master和slave上都需要设置. # # 如果…
1.环境准备 我的数据库版本是MySQL 5.6 MySQL主机至少两个实例,可以是多实例,可以是多台主机 关闭selinux,关闭防火墙等基础优化 2.安装 yum -y install make gcc-c++ cmake bison-devel ncurses-devel wget https://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.43-linux-glibc2.12-i686.tar.gz -linux-glibc2.-i68…
  一. MariaDB主从复制 mysql基本操作 1 连接数据库 mysql -u root -p -h 127.0.0.1 mysql -u root -p -h 192.168.12.60 2 授予远程连接的权限 grant all privileges on *.* to root@"%" identified by "centos" 3 修改root用户的密码 先进入mysql的交互式模式 set password = PASSWORD('centos'…
一.多实例配置 1.准备俩配置文件,开两个就准备两个 redis-6380.conf redis-6381.conf 2.分别写入配置信息(这里简化了配置) # 运行在6380端口 bind 172.18.107.180 port 6380 daemonize yes pidfile /var/run/redis_6380.pid # 运行在6381端口 bind 172.18.107.180 port 6381 daemonize yes pidfile /var/run/redis_6381…
本篇博客是Redis系列的第4篇,主要讲解下Redis的主从复制机制. 本系列的前3篇可以点击以下链接查看: Redis系列(一):Redis简介及环境安装 Redis系列(二):Redis的5种数据结构及其常用命令 Redis系列(三):Redis的持久化机制(RDB.AOF) Redis的主从复制是面试中经常会被问的,我最近面试的几家公司只要聊到Redis,都会问我主从复制的原理. 1. 为什么需要主从复制? 在本系列的上一篇博客中,我们讲到了Redis的持久化机制,它很好的解决了单台Red…
本篇博客是Redis系列的第5篇,主要讲解下Redis的过期键删除策略. 本系列的前4篇可以点击以下链接查看: Redis系列(一):Redis简介及环境安装 Redis系列(二):Redis的5种数据结构及其常用命令 Redis系列(三):Redis的持久化机制(RDB.AOF) Redis系列(四):Redis的复制机制(主从复制) 划重点:Redis的过期键删除策略也是面试中经常会被问的,我最近面试,被问到了好几次. 对于Redis服务器来说,内存资源非常宝贵,如果一些过期键一直不被删除,…
Redis系列(一)StackExchange.Redis的使用 一.DLL安装 用NuGet搜索StackExchange.Redis,然后下载就可以. ConnectionMultiplexer对象是StackExchange.Redis最中枢的对象.这个类的实例需要被整个应用程序域共享和重用的,不要在每个操作中不停的创建该对象的实例,所以使用单例来创建和存放这个对象. 代码: private static ConfigurationOptions configurationOptions…
本篇博客是Redis系列的第3篇,主要讲解下Redis的2种持久化机制:RDB和AOF. 本系列的前2篇可以点击以下链接查看: Redis系列(一):Redis简介及环境安装. Redis系列(二):Redis的5种数据结构及其常用命令 1. 为什么需要持久化? 因为Redis是内存数据库,它将自己的数据存储在内存里面,一旦Redis服务器进程退出或者运行Redis服务器的计算机停机,Redis服务器中的数据就会丢失. 为了避免数据丢失,所以Redis提供了持久化机制,将存储在内存中的数据保存到…
Redis 是一个高性能的 key-value 存储系统,被广泛用于微服务架构中.如果我们想要使用 Redis 集群模式提供的高级特性,则需要对客户端代码进行改动,这带来了应用升级和维护的一些困难.利用 Istio 和 Envoy ,我们可以在不修改客户端代码的前提下实现客户端无感知的 Redis Cluster 数据分片,并提供读写分离.流量镜像等高级流量管理功能. Redis Cluster Redis 的一个常见用途是用作数据高速缓存.通过在应用服务器和数据库服务器之间加入一个 Redis…
Java Redis系列2 (redis的安装与使用+redis持久化的实现) 什么是Redis? Redis是用C语言开发的一个开源的高性能键值对(key-value)数据库,官方提供测试数据,50个并发执行100000个请求,读的速度是110000次/s,写的速度是81000次/s ,且Redis通过提供多种键值数据类型来适应不同场景下的存储需求,目前为止Redis支持的键值数据类型如下: 字符串类型 string 哈希类型 hash 列表类型 list 集合类型 set 有序集合类型 so…
Docker容器启动Mysql,Docker实现Mysql主从,读写分离 一.Docker文件编排 二.配置主从复制 2.1 配置master 2.2 配置slave 三.验证主从复制 3.1 master创建db 四.读写分离 五.Docker启动Mysql 六.Docker-Compose方式 相关内容原文地址: 博客园: 当我遇上你csy:Docker实战之MySQL主从复制 CSDN:liumiaocn:MySQL: 容器化方式启动 一.Docker文件编排 编排docker-compo…
Mysql主从配置+读写分离     MySQL从5.5版本开始,通过./configure进行编译配置方式已经被取消,取而代之的是cmake工具.因此,我们首先要在系统中源码编译安装cmake工具. 注:安装前须查看是否已经安装了如下依赖包,如果没有请安装. apt-get -y install gcc g++ libncurses5-dev ncurses-devel openssl   一.主库安装及配置 1.源码安装cmake # tar xf cmake-3.0.0.tar.gz #…
   MySQL从5.5版本开始,通过./configure进行编译配置方式已经被取消,取而代之的是cmake工具.因此,我们首先要在系统中源码编译安装cmake工具. 注:安装前须查看是否已经安装了如下依赖包,如果没有请安装. apt-get -y install gcc g++ libncurses5-dev ncurses-devel openssl 一.主库安装及配置 1.源码安装cmake # tar xf cmake-3.0.0.tar.gz # cd cmake-3.0.0 # .…
前言 我在上篇博客 "Spring Boot 的实践与思考" 中比对不同规范的 ORM 框架应用场景的时候提到过主从与读写分离,本篇随笔将针对此和分库分表进行更深入地探讨. 1. 漫谈 在进入正题之前,我想先随意谈谈对架构的拓展周期的想法(仅个人观点).首先,我认为初期规划不该太复杂或者庞大,无论项目的中长期可能会发展地如何如何,前期都应该以灵活为优先,像分库分表等操作不应该在开始的时候就考虑进去.其次,我认为需求变更是非常正常的,这点在我等开发的圈子里吐槽的最多,其中自然有 &quo…
前言 一直都想自己动手搭建一个Redis集群和MySQL的主从同步,当然不是依靠Docker的一键部署(虽然现在企业开发用的最多的是这种方式),所以本文就算是一个教程类文章吧,但在动手搭建之前,会先聊聊理论的东西,以便于大家有一个集群和主从同步的概念,如果有同学不了解Redis和MySQL,可以看一下我之前的两篇文章. Redis由浅入深深深深深剖析 从入门到入土:令人脱发的数据库底层设计 什么是Redis集群 简介 Redis是一个快速高效的NoSQL型数据库,由于其基于内存存储.单线程.多路…
一.集群模式 Redis集群是一个由多个主从节点组成的高可用集群,它具有复制.高可用和分片等特性 二.集群部署 1.环境 3台主机分别是: 192.168.160.146 192.168.160.152 192.168.160.153 每台服务器1主1从,共3主3从 相关安装包存储路径:/usr/local/redis-5.0.2 2.部署 ① Redis安装详见Redis系列(一):Redis简介 ② 进入redis-5.0.2 cd /usr/local/redis-5.0.2 ③ 创建集群…
8.1 主从同步原理 像MySQL一样,Redis是支持主从同步的,而且也支持一主多从以及多级从结构. 主从结构,一是为了纯粹的冗余备份,二是为了提升读性能,比如很消耗性能的SORT就可以由从服务器来承担. Redis的主从同步是异步进行的,这意味着主从同步不会影响主逻辑,也不会降低Redis的处理性能. 主从架构中,可以考虑关闭主服务器的数据持久化功能,只让从服务器进行持久化,这样可以提高主服务器的处理性能. 在主从架构中,从服务器通常被设置为只读模式,这样可以避免从服务器的数据被误修改.但是…
1 mysql基本命令 1.启动mysql systemctl start mariadb 2.linux客户端连接自己 mysql -uroot -p -h 127.0.0.1 3.远程链接mysql服务端 mysql -uroot -p -h 192.168.1.197 远程授权: grant all privileges on *.* to root@"192.168.1.100" identified by "redhat"; flush privilege…
1 zookeeper选主机制 1.1 LeaderElection选举算法 选举线程由当前Server发起选举的线程担任,他主要的功能对投票结果进行统计,并选出推荐的Server.选举线程首先向所有Server发起一次询问(包括自己),被询问方,根据自己当前的状态作相应的回复,选举线程收到回复后,验证是否是自己发起的询问(验证xid 是否一致),然后获取对方的id(myid),并存储到当前询问对象列表中,最后获取对方提议 的 leader 相关信息(id,zxid),并将这些 信息存储到当次选…
Redis数据类型及其使用 参考:http://www.cnblogs.com/jackluo/p/3173436.html Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合). 并结合实际,以简单博客(用户/关注)为模型,进行使用场景探讨. String(字符串) string是redis最基本的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value. string类型是…
一.前言 在之前的文章已经详细介绍了redis入门基础已经持久化相关内容包括redis4.0所提供的混合持久化. 通过持久化功能,Redis保证了即使在服务器宕机情况下数据的丢失非常少.但是如果这台服务器出现了硬盘故障.系统崩溃等等,不仅仅是数据丢失,很可能对业务造成灾难性打击.为了避免单点故障通常的做法是将数据复制多个副本保存在不同的服务器上,这样即使有其中一台服务器出现故障,其他服务器依然可以继续提供服务.当然Redis提供了多种高可用方案包括:主从复制.哨兵模式的主从复制.以及集群. 本文…
redis支持RDB和AOF两种持久化机制,持久化可以避免因进程退出而造成数据丢失 一.RDB持久化 RDB持久化把当前进程数据生成快照(.rdb)文件保存到硬盘的过程,有手动触发和自动触发 手动触发有save和bgsave两命令 save命令:阻塞当前Redis,直到RDB持久化过程完成为止,若内存实例比较大会造成长时间阻塞,线上环境不建议用它 bgsave命令:redis进程执行fork操作创建子线程,由子线程完成持久化,阻塞时间很短(微秒级),是save的优化,在执行redis-cli s…
普通文件的数据同步 nfs: 网络文件共享 samba: 共享数据 定时任务或守护进程结合 rsync.scp inotify(sersync)+rsync 触发式实时数据同步 ftp数据同步 ssh key + scp / rsync svn版本管理 rsync,sersync,inotify,union(双向同步),csync2(多向同步) mysql主从同步逻辑图 1. 单向主从同步 主-从 一主多从 2. 双向主主同步: 互为主从 (一般不采用) 3. 线性: 级联单向双主同步 4. 环…
redis配置文件 地址 units单位 a  配置大小单位,开头定义了一些基本的度量单位,只支持bytes,不支持bitb  对大小写不敏感 GENERAL通用 1.daemonize 2.pidfile 3.port 4.tcp-backlog 设置tcp的backlog,backlog其实是一个连接队列,backlog队列总和=未完成三次握手队列 + 已经完成三次握手队列.在高并发环境下你需要一个高backlog值来避免慢客户端连接问题.注意Linux内核会将这个值减小到/proc/sys…
一. 慢查询原因分析 与mysql一样:当执行时间超过阀值,会将发生时间耗时的命令记录 redis命令生命周期:发送 排队 执行 返回慢查询只统计第3个执行步骤的时间 预设阀值:两种方式,默认为10毫秒1,动态设置6379:> config set slowlog-log-slower-than 10000 //10毫秒10000微秒使用config set完后,若想将配置持久化保存到redis.conf,要执行config rewrite 2,redis.conf修改:找到slowlog-lo…
提到Redis,大家肯定都听过,并且应该都在项目中或多或少的使用过,也许你觉得Redis用起来挺简单的呀,但如果有人问你下面的几个问题(比如同事或者面试官),你能回答的上来吗? 什么是Redis? Redis能存储哪几种数据结构? Redis有几种持久化机制?它们的优缺点分别是什么? 哪些场景需要使用Redis? 什么是缓存雪崩,如何避免? 什么是缓存穿透,如何避免? 什么是缓存击穿,如何避免? 如果你都能回答的上来,恭喜你,说明你对Redis有一定的了解,如果回答不上来,也没关系,本系列博客会…