mysql中间件

Mysql读写分离3

亡梦爱人 提交于 2020-01-27 03:32:24
主从复制 常用命令: service mysqld start 数据库启动 service iptables stop 数据库停止 mysql –u root 数据库登录 概念 影响MySQL-A数据库的操作,在数据库执行后,都会写入本地的日志系统A中。 假设,实时的将变化了的日志系统中的数据库事件操作,在MYSQL-A的3306端口,通过网络发给MYSQL-B。 MYSQL-B收到后,写入本地日志系统B,然后一条条的将数据库事件在数据库中完成。 那么,MYSQL-A的变化,MYSQL-B也会变化,这样就是所谓的MYSQL的复制,即MYSQL replication。 在上面的模型中,MYSQL-A就是主服务器,即master,MYSQL-B就是从服务器,即slave。 日志系统A,其实它是MYSQL的日志类型中的二进制日志,也就是专门用来保存修改数据库表的所有动作,即bin log。【注意MYSQL会在执行语句之后,释放锁之前,写入二进制日志,确保事务安全】 日志系统B,并不是二进制日志,由于它是从MYSQL-A的二进制日志复制过来的,并不是自己的数据库变化产生的,有点接力的感觉,称为中继日志,即relay log。 可以发现,通过上面的机制,可以保证MYSQL-A和MYSQL-B的数据库数据一致,但是时间上肯定有延迟,即MYSQL-B的数据是滞后的。 【即便不考虑什么网络的因素

Mycat 安装启动

落花浮王杯 提交于 2020-01-23 08:25:22
文章目录 1、服务器规划 2、 下载、解压 3、确定Mysql 已发安装并启动成功 4、Mycat 配置 4.1、 修改配置文件server.xml 4.2、修改配置文件 schema.xml 4.3、 远程授权 5、启动 5.1 启动、停止、重启命令 6、测试 6.1、登录Mycat后台命令 6.2、8066 数据平台 6.3、9066 管理配置平台 1、服务器规划 编号 角色 IP 地址 说明 1 客户端 192.168.140.1 我使用的的电脑(win10) 2 Mycat 192.168.140.100 linux 3 mysql(写) 192.168.140.200 linux 4 mysql(读) 192.168.140.201 linux 服务器选择: Mycat 作为数据库中间件,不要和数据库部署在同一个机器上。 2、 下载、解压 1、下载 Mycat 的官网: http://www.mycat.io 本次选择的版本是 Mycat-server-1.6.7.1-release-20190627191042-linux.tar.gz 2、解压到 /usr/local/ 目录下 tar -zxvf Mycat-server-1.6.7.1-release-20190627191042-linux.tar.gz -C /usr/local/ 3、 三个配置文件

Mycat占用mysql连接数过多

血红的双手。 提交于 2020-01-22 23:14:25
背景:mariadb,mycat中间件。 问题:DB连接数过多;开发使用程序使用连接池连mycat; DB待优化项: interactive_timeout,wait_timeout 都是8小时默认值。 mycat配置:100个分片库,和其他业务库。现在分片库用到16分片,后面尚未使用。 当前DB最大连接数:3000 mycat 版本:当前线上的mycat版本是1.5.8版本,推荐以后线上使用最稳定的 mycat1.6.5版本。 经DB和开发碰面了解 这两个timeout时间不能缩短,所以常规的优化手段不能使用: 正常DB连接数1000,数据库两个timeout为300--500,参数可以全局动态生效。 公司线上DB前段时间建总出现连接数过多问题,正常来说连接数1000,已经能够满足大部分需求。 正常手段无法使用的时候,那么就要找到DB为啥连接数过多。 1. 审计日志 DB上部署过审计日志,审计日志部署请移步: 审计日志部署 ,审计日志中可以查看到做坏事的坏小子是谁! 因为时间关系,未保存。但是从审计日志中发现大量访问连接sql就是'select 1' ,也是mycat连接mysql的连接。 且该链接连的是大量尚未使用的物理库。 至此审计日志只能判断到这里。 2. DB层面 mariadb物理库 information_schema 中processlist表记录连接相关信息,比如

MySQL group replication

被刻印的时光 ゝ 提交于 2020-01-17 04:57:24
本篇文章主要讲解 MySQL group replication 介绍,文中有关 MySQL ,group的内容,希望对大家有所帮助。 “ MySQL group replication ” group replication 是 MySQL 官方开发的一个开源插件,是实现 MySQL 高可用集群的一个工具。第一个GA版本正式发布于MySQL5.7.17中;想要使用group replication只需要从官网上下载MySQL5.7.17及以后的版本即可 group replication发布以后,有3种方法来实现MySQL的高可用集群: ①:异步复制 ②:半同步复制 ③:group replication ---注意: 异步复制是实现最早也是最简单的高可用方法。相比异步复制而言,半同步复制提高了MySQL集群的可靠性。group replication则是MySQL复制今后发展的方向,与前两者相比,不仅是可靠性更好,在易用性上也有巨大提高; 1、组的概念: group replication插件中有组(group)的概念,被group replication插件连接在一起的MySQL服务器是一个高可用组,组内的MySQL服务器被称为成员。组的概念贯穿与group replication的使用和内部实现之中。group replication内部集成了组管理服务

MySQL工具汇总

我的梦境 提交于 2020-01-16 02:39:19
1. 工具套件集 percona-toolkit: http://www.percona.com/software/percona-toolkit oak-toolkit: http://code.openark.org/forge/openark-kit ps-helper(performance schema 工具函数集): https://github.com/MarkLeith/dbahelper 2. MySQL 实时状态分析 innotop: https://code.google.com/p/innotop/ orzdba: http://code.taobao.org/p/orzdba/src/trunk/orzdba mytop: http://jeremy.zawodny.com/mysql/mytop/ 3. mysql客户端&开发工具 Adminer:http://www.adminer.org/ MyQuery:http://sourceforge.net/projects/myquery/ Hopper(存储过程调试工具):http://www.upscene.com/products.hopper.index.php 4. MySQL性能监控 mysql-statsd: https://github.com/spilgames/mysql-statsd

MySQL InnoDB Cluster 详解

我们两清 提交于 2020-01-15 08:55:49
导读 本文转载自MySQL解决方案工程师 作者:徐铁韬 这篇文章将详细地介绍MySQL的高可用解决方案—— MySQL InnoDB Cluster。 说到高可用性,首先要了解一下什么是高可用性? 高可用性要求的实际上是对可靠性的要求,从本质上来说,是通过技术和工具来提高可靠性,尽可能长时间保持数据的可用和系统的正常运行时间。实现高可用性的原则为排除单点故障、通过冗余实现快速恢复,并且具有容错机制。 上面一页主要介绍了几个关键词汇,以及相关的定义,这些有助于理解可靠性和高可用性。 MySQL的高可用性解决方案目前大致分为5种,按照高可用的级别(99.9999%为最高级)排序依次为,主从复制、具有自动故障转移功能的主从复制、利用共享存储、OS或虚拟化软件实现主备架构、MySQL Group Replication 群组复制,以及MySQL NDB Cluster。 MySQL Replication:允许数据从一台实例上复制到一台或多台其它的实例上。 MySQL Group Replication:群组复制提供更好的冗余性、自动恢复以及写入扩展。 MySQL InnoDB Cluster:基于群组复制,提供了易于管理的API、应用故障转移和路由、易于配置,提供比群组复制更高级别的可用性。 MySQL NDB Cluster:容易与MySQL InnoDB Cluster混淆

MySQL工具汇总

会有一股神秘感。 提交于 2020-01-15 04:39:25
1. 工具套件集 percona-toolkit: http://www.percona.com/software/percona-toolkit oak-toolkit: http://code.openark.org/forge/openark-kit ps-helper(performance schema 工具函数集): https://github.com/MarkLeith/dbahelper 2. MySQL 实时状态分析 innotop: https://code.google.com/p/innotop/ orzdba: http://code.taobao.org/p/orzdba/src/trunk/orzdba mytop: http://jeremy.zawodny.com/mysql/mytop/ systemtap工具示例集: https://sourceware.org/systemtap/examples/ 3. mysql客户端&开发工具 Adminer:http://www.adminer.org/ MyQuery:http://sourceforge.net/projects/myquery/ Hopper(存储过程调试工具):http://www.upscene.com/products.hopper.index.php 4.

MySQL工具汇总

99封情书 提交于 2020-01-15 04:22:40
本博客已经迁移至: http://cenalulu.github.io/ 本篇博文已经迁移,阅读全文请点击: http://cenalulu.github.io/mysql/mysql-tools-list/ 本文汇总了和MySQL运维开发相关的所有工具,并会持续更新 1. 工具套件集 percona-toolkit: http://www.percona.com/software/percona-toolkit oak-toolkit: http://code.openark.org/forge/openark-kit ps-helper(performance schema 工具函数集): https://github.com/MarkLeith/dbahelper 2. MySQL 实时状态分析 innotop: https://code.google.com/p/innotop/ orzdba: http://code.taobao.org/p/orzdba/src/trunk/orzdba mytop: http://jeremy.zawodny.com/mysql/mytop/ systemtap工具示例集: https://sourceware.org/systemtap/examples/ 3. mysql客户端&开发工具 Adminer:http://www

MySQL工具汇总

|▌冷眼眸甩不掉的悲伤 提交于 2020-01-15 04:21:07
本文汇总了和MySQL运维开发相关的所有工具,并会持续更新 1. 工具套件集 percona-toolkit: http://www.percona.com/software/percona-toolkit oak-toolkit: http://code.openark.org/forge/openark-kit ps-helper(performance schema 工具函数集): https://github.com/MarkLeith/dbahelper 2. MySQL 实时状态分析 innotop: https://code.google.com/p/innotop/ orzdba: http://code.taobao.org/p/orzdba/src/trunk/orzdba mytop: http://jeremy.zawodny.com/mysql/mytop/ 3. mysql客户端&开发工具 Adminer:http://www.adminer.org/ MyQuery:http://sourceforge.net/projects/myquery/ Hopper(存储过程调试工具):http://www.upscene.com/products.hopper.index.php 4. MySQL性能监控 mysql-statsd: https:/

MySQL大表优化方案

☆樱花仙子☆ 提交于 2020-01-14 10:54:46
当 MySQL 单表记录数过大时,增删改查性能都会急剧下降,可以参考以下步骤来优化: 单表优化 除非单表数据未来会一直不断上涨,否则不要一开始就考虑拆分,拆分会带来逻辑、部署、运维的各种复杂度,一般以整型值为主的表在千万级以下,字符串为主的表在五百万以下是没有太大问题的。而事实上很多时候MySQL单表的性能依然有不少优化空间,甚至能正常支撑千万级以上的数据量: 字段 尽量使用TINYINT、SMALLINT、MEDIUM_INT作为整数类型而非INT,如果非负则加上UNSIGNED VARCHAR的长度只分配真正需要的空间 使用枚举或整数代替字符串类型 尽量使用TIMESTAMP而非DATETIME, 单表不要有太多字段,建议在20以内 避免使用NULL字段,很难查询优化且占用额外索引空间 用整型来存IP 索引 索引并不是越多越好,要根据查询有针对性的创建,考虑在WHERE和ORDER BY命令上涉及的列建立索引,可根据EXPLAIN来查看是否用了索引还是全表扫描 应尽量避免在WHERE子句中对字段进行NULL值判断,否则将导致引擎放弃使用索引而进行全表扫描 值分布很稀少的字段不适合建索引,例如"性别"这种只有两三个值的字段 字符字段只建前缀索引 字符字段最好不要做主键 不用外键,由程序保证约束 尽量不用UNIQUE,由程序保证约束 使用多列索引时主意顺序和查询条件保持一致