自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(51)
  • 收藏
  • 关注

原创 MHA切换过程(精细)

* Phase 1: Configuration Check Phase..检查当前存活实例及主从同步状态,是否可以进行切换* Phase 1: Configuration Check Phase completed.* Phase 2: Dead Master Shutdown Phase..去掉VIP如果配置了shutdown_script,在VIP去掉后执行s...

2019-11-28 18:06:06 771

原创 基于MaxScale中间件的MySQL读写分离

基于MaxScale中间件的MySQL读写分离概述maxscale 基于keepalived的高可用,通过VIP提供服务maxscale官网:https://mariadb.com/downloads/mariadb-tx/maxscalemaxscale文档(比官网查看方便)https://github.com/mariadb-corporation/MaxScale/tree/...

2018-11-09 17:06:26 2566

原创 基于Mycat中间件的MySQL读写分离

基于Mycat中间件的MySQL读写分离简述mycat是国内开源的数据库中间件,可以实现mysql读写分离和主备热切换,容灾,数据分片等功能。详情:http://www.mycat.io/架构实现功能:1. 在主从同步正常时,主从读写分离2. 当主从复制出现延迟且延迟时间大于10秒(可自定义延迟时间)后,读操作会发到主库上,从库不再接受读操作,目的是防止延迟过大导致读到以前的旧数据。3. 当从库追...

2018-06-05 11:30:23 4009

原创 Cgroups使用

Cgroups使用一.                      Cgroups介绍linux内核提供了cgroups控制组(controlgroups)的功能,最初由google的工程师提出,后来被整合进Linux内核。Cgroups也是LXC(LinuxContainer容器是一种内核虚拟化技术,可以提供轻量级的虚拟化,以便隔离进程和资源,而且不需要提供指令解释机制以及全虚拟化的其他复

2016-12-19 13:21:45 2871

原创 MySQL Group Replication实践

MySQL Group Replication实践 Group Replication直接翻译过来就是组复制,是基于组的复制(Group-based Replication)技术,和galera集群可以相提并论,在应用场景中可以实现高可用。Replication-group(复制组)是由能够相互通信的多个服务器(节点)组成的。一个Replication-group就是一组节点,每个节点

2016-12-16 18:53:08 1833

原创 PXC(Percona XtraDB Cluster)单机多实例与多集群安装配置

PXC(Percona XtraDB Cluster)单机多实例与多集群安装配置pxc原理:节点接收SQL请求后,在commit之前,由wsrepAPI调用galera库进行集群内广播,所有其他节点验证成功后事务在所有节点进行提交,反之rollback。pxc保证整个集群所有数据的强一致性,满足CAP理论中:consistency和availability在一个事务提交的过程,No

2016-10-14 12:50:29 4406

原创 Percona Monitoring and Management(PMM) 初体验

Percona Monitoring and Management(PMM) 初体验 简介 PMM是一款管理和监控mysql,mongoDB性能的开源平台。其由percona公司开发,支持和咨询。 PMM是免费和开源的解决方案,可以运行在自己的环境中提供最大的安全性和可靠性。它提供了全面的基于时间的分析MySQL和MongoDB服务器来确保您的数据尽可能高效地工作。 PMM架构如下:(注;图

2016-09-26 13:41:49 13361

原创 将zabbix数据库从innodb迁移到tokudb并分区

下载percona server,并启用tokudb引擎wget -c https://www.percona.com/downloads/Percona-Server-5.6/Percona-Server-5.6.32-78.0/binary/tarball/Percona-Server-5.6.32-rel78.0-Linux.x86_64.ssl101.tar.gztar zxv

2016-08-23 18:25:49 2681 2

原创 MySQL单台物理机上单实例多库与多实例单库性能测试

MySQL单台物理机上单实例多库与多实例单库性能测试 因游戏业务需求,经常需要创建新的数据库,有时候在已经启着数据库实例的机器上纠结,是在原来的实例中直接加个库呢,还是在另起一个实例,哪个性能更好呢?所以就有了本次的测试。物理机6台,配置如下CPU:Intel(R) Xeon(R) CPU E5-2630 v3 @ 2.40GHzMEM:256GDISK:SSD2台My

2016-06-30 17:01:26 5948 1

原创 mysql并行复制

先重复下MySQL复制原理,其通过三个线程来完成,在master节点上运行的binlogdump线程以及在slave节点上运行的I/O线程和SQL线程。具体如下:1. master节点上的binlogdump线程,在slave与其正常连接的情况下,将binlog发送到slave上。2.slave节点上的I/O线程,通过读取master节点发送的内容,并将数据复制到本地的relaylog中。

2016-06-13 10:32:22 3127 1

原创 percona和mariadb的审计插件

折腾了2个mysql优秀分支的审计插件,个人觉得mariadb的不错,比较直观,而percona的是类似于json格式的,可能对那些擅长文本处理的人比较合适,以下是2个插件的大概配置,其中没有对各个参数做出详细解释。如需更加详细内容,请参考官方文档。Percona audit plugin:mysql> INSTALL PLUGIN audit_log SONAME 'audit_

2016-06-03 18:43:58 3123

原创 percona server响应时间分布

慢查询日志提供花费较长时间执行查询的准备信息,而在数据库中大部分的查询都需要一个非常短的时间来执行。响应时间分布这个功能就是用于分析信息,根据查询执行的时间,通过计数和显示查询花费多长时间的一个工具。用户可以自己定义时间间隔,把0到无穷大分成较小的时间间隔,然后收集其执行时间在每个时间间隔的数目。在复制环境中需要注意,服务器不考虑任何由从服务器SQL线程执行的查询(无论这些SQL是否为缓慢)的时间

2016-06-03 18:32:46 1447

原创 pt-query-digest+Anemometer实现MySQL慢查询可视化

安装pt-query-digestpt-query-digest是percona-toolkit里面一个工具,其作用就是分析慢查询日志,将MySQL慢查询日志进行统计并友好的显示出来。# wget https://www.percona.com/downloads/percona-toolkit/2.2.17/RPM/percona-toolkit-2.2.17-1.noarch.

2016-04-23 10:24:43 3028

原创 MySQL5.7多源复制(Multi-Source Replication)

 MySQL5.7.6以后开始支持多源复制Multi-Source Replication,可以将多个主的库同步到一台slave上,从而增加从的利用率,出节省了机器,也可用于备份。 首先设置master_info_repository和relay_log_info_repository两个参数,这存储同步信息的仓库,可以设置的值为'FILE'和'TABLE', 参数名 ...

2016-04-22 10:58:29 3400

原创 Inception安装部署实现SQL自动审核与上线

 1  Incption概述1.1  Inception简介Inception是集审核、执行、回滚于一体的一个自动化运维系统,它可以对提交的所有语句的语法分析,如果语法有问题,都会将相应的错误信息返回给审核者。 还提供SQL语句的执行功能,可执行的语句类型包括常用的DML及DDL语句及truncate table等操作。 Inception在执行 DML时还提供生成回滚语句的功能,对应...

2016-04-08 16:45:30 24129 6

原创 mysql异常宕机故障数据恢复思路整理

最近遇到个比较有意思的问题,mysql服务宕掉后无法启动,想了好多办法,虽然解决了问题,数据没有丢失,但是没有按照自已的思路来,未免还是有些不甘。遇到问题不能慌,尤其是线上的环境,更不能紧张,心理素质对DBA来说也是一项挑战,可能你的手一抖就会导致多少人无法正常使用业务,如果你没有把握,请先把现场环境备份后再进行操作,避免数据的二次损坏,下面说一下大概的思路吧。1.检查是否有备份,如果

2016-03-31 16:37:36 7688

原创 maxscale实现读写分离

一、           maxscale简述1.   maxscale简述MaxScale是maridb开发的一个mysql数据中间件,其配置简单,能够实现读写分离,并且可以根据主从状态实现写库的自动切换。在MHA架构上,主库宕掉后,其中从库提升为主,maxscale可以自动判断新主库,而使新主库承担写服务,也可实现从库的宕机自动离线恢复后自动上线功能。2.   目录结构说明

2016-03-30 13:59:15 4325

转载 MySQL show status参数详解

状态名作用域详细解释Aborted_clientsGlobal由于客户端没有正确关闭连接导致客户端终止而中断的连接数Aborted_connectsGlobal试图连接到MySQL服务器而失败的连接数Binlog_cache_disk_useGlobal

2016-03-11 14:30:38 704

转载 MHA配置参数解释

ParametersParameter NameRequired?Parameter ScopeDefault ValueExamplehostnameYesLocal Only-hostname=mysql_server1, hostname=192.168.0

2016-03-10 18:19:16 2712

原创 master ha 安装过程

master ha 安装过程master:192.168.199.126slave1:192.168.199.127slave2:192.168.199.128slave3:192.168.199.129binlogserver:192.168.199.128VIP:192.168.199.125一.安装mysql,并做主从同步#创建mysql用户及

2016-01-20 20:57:20 2342

原创 SQL表连接优化总结

SQL表连接优化总结1. innerjoin  内联 返回匹配的数据select * from tb1 inner join tb2 on tb1.c1=tb2.c1;或select * from tb1,tb2 where tb1.c1=tb2.c1;2. leftjoin  左联 左边返回全部的数据,右边返回匹配的数据,右边没有的数据则返回NULLselect * fr

2016-01-18 14:43:19 1399

原创 MySQL优化核心

目的:让SQL运行的更快方法:1. 减少请求行数2. 减少IO量3. 限制结果集4. 减少抢占 深入理解SQL执行计划,从一个explain说起:mysql> explain select * fromsys_oauth where client_id='905a1f8122d13eac0f3593e7b06f903d'\G*******************

2016-01-14 17:48:37 968

原创 innodb_flush_log_at_trx_commit和sync_binlog参数详解

innodb_flush_log_at_trx_commit和sync_binlog是MySQL innodb引擎的两个重要的参数,其中innodb_flush_log_at_trx_commit是将事务日志从innodb log buffer写入到redo log中,sync_binlog是将二进制日志文件刷新到磁盘上。innodb事务日志redo,binlog逻辑过程如下:1.

2016-01-02 16:11:54 19038

原创 同步结构怎么不丢数据?

1.binlog_sync=1        会影响性能2.半同步复制        也会影响性能3.建立Binlog_Server,在数据丢失后做恢复用4.采用mha架构 实现步骤:1.binlog_sync=1[mysqld]sync_binlog= 0如果没有开启,在mysql会话中设置,再改配置setglobal sync_binlog=0;

2015-12-26 20:40:26 1021

原创 MySQL主从复制报错处理和数据一致性校验及修复方法

show slavestatus\G IO_threadMaster_Log_File:mysql-bin.000001Read_Master_Log_Pos:2049SQL_threadRelay_Master_Log_File:mysql-bin.000001Exec_Master_Log_Pos:2049 同步延时Seconds_Behind_Ma

2015-12-25 09:42:18 942

原创 MySQL传统复制与GTID复制原理及操作详解

mysql复制在业界里有叫:mysql同步,ab复制等。专业名称就是叫:复制复制是单向的,只能从master复制到slave上,延时基本上是毫秒级别的。一组复制结构中可以有多个slave,对于master一般场景推荐只有一个。master用户写入数据,生成event记到binary log中slave接收master上传来的binlog,然后按顺序应用,重现master上的用户操作

2015-12-25 09:35:06 15024 2

原创 MySQL各种日志总结

日志类型:错误日志(error log)常规日志(general log)二进制日志(bin log)中继日志(relay log)慢日志(slow log)InnoDB引擎的redo log错误日志log-error= error.log不加存储路径存储到datadir下,如果不指定名字是hostname.err记录mysql启动关闭,运行中的异常或是重要提示信息在生产环境中,监控这个日志 全

2015-12-25 09:26:39 759

原创 TPCC-MySQL基准测试

1.   简述TPCC-MySQL输出结果包括五个业务逻辑,这五个业务逻辑构成了TPCC-MySQL测试的整个事务处理过程。具体如下所示:New-Order:新订单Payment:支付Order-Status:订单查询Delivery:发货Stock-Level:库存 预定义变量:为了能够清晰的说明以下内容,首先定义一些变量,便于以下的计算和说明。具体如下所示:success         =执

2015-12-25 09:26:36 751

原创 MySQL之truncate表后恢复思路整理(前提是有备份且开启binlog)

1.1对数据库thunder进行备份mysqldump -S /tmp/mysql3316.sock  --single-transaction --master-data=2 thunder >thunder_full_2015112.sql1.2进行truncate table操作并insert into table(work)root@localhost:mysql3316.sock [(n

2015-12-25 09:26:33 1495

转载 FastDFS配置和运行中出现的问题及解决(FAQ)

Q:/fdfs_trackerd: error while loading shared libraries: libevent-1.4.so.2: cannot open shared object file: No such file or directoryA:export LD_LIBRARY_PATH=/usr/loal/lib(libevent的安装路径,可以通过find来查找)Q:C

2015-12-25 09:26:30 2028 1

原创 FastDFS+Nginx安装配置

FastDFS+Nginx安装配置1.系统环境最小化安装的RedHat 6.4fastdfs版本:FastDFS_v3.06.tar.gznginx版本:nginx-1.0.11.tar.gzfastdfs-nginx-module版本:fastdfs-nginx-module_v1.10.tar.gztracker1:192.168.199.126tracker2:192.168.199.127

2015-12-25 09:26:27 791

原创 Hadoop HA

1.说明System Version:Red Hat Enterprise Linux Server release 6.5 (Santiago)Hadoop Version:2.6.0SSH免密需namenode1到所有节点,namenode2到所有节点。(重要)ssh-keygen -t rsassh-copy-id namenode1ssh-copy-id namenode1ssh-

2015-12-25 09:26:24 211

原创 zabbix 编译安装

#install lampyum install gcc glibc glibc-common cairo pango zlib zlib-devel freetype freetype-devel gd gd-devel -yyum install mysql* httpd* php* --skip-broken -y#add user for zabbixgroupadd zabbixuser

2015-12-25 09:26:21 298

原创 Shanghai

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/59/DF/wKiom1Ttjzji0vOoAAxXtNZI5Rc696.jpg" style="float:none;" title="DSC_0239.jpg" alt="wKiom1Ttjzji0vOoAAxXtNZI5Rc696.jpg" />650) this.width=

2015-12-25 09:26:18 792

原创 Windows Server 2003 使用vSphere5.5连接ESXI5.5 “客户端无法向服务器发送完整的请求” 的解决办法

今天在Windows Server 2003 上用vSphere5.5连接ESXI5.5出现了如下错误:vSphere CLient 无法连接“192.168.1.1”。出现未知连接错误。(客户端无法向服务器发送完整的请求。(The underlying connection was closed: An unexpected errror occurred on a send))经查询,出现此错

2015-12-25 09:26:15 9892

原创 zabbix monitor mysql

1、grant user for mysqlGRANTUSAGE ON *.* TO 'zabbix'@'localhost' IDENTIFIED BY "zabbix";2、touch /var/lib/zabbix/.my.cnf# Zabbix Agent[mysql]host=localhostuser=zabbixpassword=zabbixsocket=/tmp/mysql.so

2015-12-25 09:26:12 457

原创 Nginx实现TCP反向代理

默认Nginx只支持http的反向代理,要想nginx支持tcp的反向代理,还需要在编译时增加tcp代理模块支持,即nginx_tcp_proxy_module    下面操作步骤只让nginx支持tcp_proxy,没有加入prce、gzip、ssl等功能,如需要,可自行在编译时加上相关参数。 wget https://github.com/yaoweibin/nginx_tcp_proxy_m

2015-12-25 09:26:09 1912

原创 A10负载配置及主备手动切换命令

添加一个负载完整的过程为:配置slb server 即所谓的real server,后端真实提供服务的主机配置slb service-group 定义服务组,里面包含哪些real server主机配置slb virtual-server 即virtual server,对外提供服务的地址贴一个简单的配置供参考:1、配置server,当然得是在configure模式下slb server apach

2015-12-25 09:26:07 3364

原创 Fabric自动化运维工具实现远程SSH部署及系统管理

Fabric是基于python(2.5-2.7)库和命令行来实现SSH远程应用部署及系统管理的工具,使用它,在批量管理远程主机时,不需要一台一台的输入密码登陆,可以把所以主机的用户名和密码写在一个文件里面来操作,下文中有具体实例。Fabric的安装yum install python-setuptools python-dev* pycryptowget https://pypi.python

2015-12-25 09:26:04 930

原创 CentOS启动卡在开机进度条certmonger后

新安装的CentOS6.4,第一次开机便卡在了进度条那里,一开始以为是反应慢,需要多等些时间,大概5分钟后还是不行,估计是出问题了。重启后按Esc或者F5键,可以查看系统启动过程,卡在哪里,我的是在certmonger启动OK之后卡住的:650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/54/87/wKiom1SFZCeQfbTSA

2015-12-25 09:26:01 4439

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除