自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(55)
  • 资源 (2)
  • 收藏
  • 关注

原创 利用pt-heartbeat监控复制延迟

主从延迟介绍一般mysql主从监控通过show slave status查看SECONDS_BEHIND_MASTER的值来判断主从是否有延迟。但是SECONDS_BEHIND_MASTER并不能准确的反映出数据库的延迟情况,而且此值是秒级。如果有业务系统需要更精确的主从延迟级别(如毫秒级),这样可以通过pt-heartbeat实现对mysql或PostgreSQL主从复制的监控。工作原理pt-he

2017-11-23 23:07:53 656

原创 Python生成epub文档

开始之前本教程讲述如何创建 EPUB 格式的电子图书。EPUB 是一种基于 XML 的、对开发者友好的格式,正逐渐成为数字图书的事实标准。但 EPUB 不仅可用于图书,还包括:对文档打包以便离线阅读或者分发打包博客文章或者其他 Web 内容使用常见的开放源代码工具创建、搜索和整理解剖 EPUB 包一个 EPUB 就是一个简单 ZIP 格式文件(使用 .epub 扩展名)

2015-03-28 18:11:43 9713

原创 iostat命令详解

iostat介绍iostat用于输出CPU和磁盘I/O相关的统计信息,便于分析Linux系统性能问题.命令格式:shell> iostat --help用法: iostat [ 选项 ] [ [ ] ]选项:[ -c ] [ -d ] [ -N ] [ -n ] [ -h ] [ -k | -m ] [ -t ] [ -V ] [ -x ] [ -z ][ [...]

2015-03-19 16:24:03 677

原创 MySQL高可用之MHA

MHA简介MHA分管理节点和数据库节点,数据库节点由mysql主从或者主主从构成,当主库挂掉后,管理节点会自动将从节点提升为主节点;管理节点的角色类似于oracle数据库中的fast start failover中的observer,但mha上层可以通过keepalive部署VIP,程序连接数据库使用VIP,从而实现后台数据库的故障切换透明化MHA节点包含三个脚本,依赖perl模块;

2015-03-19 16:23:24 800 1

原创 top命令详解

top命令经常用来监控linux的系统状况,比如cpu、内存的使用。shell> toptop - 14:36:26 up 500 days, 22:51, 2 users, load average: 0.22, 0.28, 0.69Tasks: 334 total, 1 running, 333 sleeping, 0 stopped, 0 zombieCpu(s):

2015-03-19 16:23:16 681

原创 percona之复制工具介绍

1. pt-slave-find功能介绍:连接master寻找和打印mysql slave复制拓扑使用说明shell> pt-slave-find [OPTIONS] [DSN]详情可参考shell> pt-slave-find --help不能通过连接到slave,打印其master使用示例shell> pt-slave-find --host=192.168

2015-03-19 16:20:15 602

原创 percona之pt-table-sync介绍

功能介绍:通过在主服务器上运行pt-table-sync,它会重建数据,数据通过复制从主服务器同步到从服务器,从而修复了一致性,在操作过程中,可以利用pt-table-checksum检查的结果。它不同步表结构、索引、或任何其他模式对象,所以在修复一致性之前需要保证他们表存在。使用说明shell> Usage: pt-table-sync [OPTIONS] DSN [DSN]详

2015-03-19 16:18:11 1246

原创 percona之pt-query-digest介绍

功能介绍:pt-query-digest是用于分析mysql慢查询的一个工具,它也可以分析binlog、General log、slowlog,也可以通过SHOWPROCESSLIST或者通过tcpdump抓取的MySQL协议数据来进行分析。可以把分析结果输出到文件中,分析过程是先对查询语句的条件进行参数化,然后对参数化以后的查询进行分组统计,统计出各查询的执行时间、次数、占比等,可以借助

2015-03-19 16:18:08 578

原创 MySQL Cluster安装

MySQL Cluster的基本概念NDB是一种“内存中”存储引擎,它具有可用性高和数据一致性好的特点。。在很多情况下,术语“节点”用于指计算机,但在讨论MySQL Cluster时,它表示的是进程。在单台计算机上可以有任意数目的节点。有三类Cluster节点,在最低的MySQL Cluster配置中,至少有三个节点,这三类节点分别是:管理(MGM)节点这类

2015-03-16 23:56:06 534

原创 MySQL Amoeba读写分离

Amoeba 简介Amoeba for mysql可作为mysql的分布式数据库前端代理层,它主要在应用层访问mysql的时候充当query 路由功能,专注 分布式数据库 proxy 开发。座落与Client、DB Server(s)之间。对客户端透明。具有负载均衡、高可用性、query filter、读写分离、可路由相关的query到目标数据库、可并发请求多台数据库合并结果。 在amoe

2015-03-15 21:17:29 664

原创 MySQL Proxy读写分离

MySQL Proxy简介MySQL Proxy(MySQL代理)是一个通过MySQL网络协议,提供MySQL服务器与客户端之间连接的应用工具,在基本配置条件下,MySQL代理仅是传递客户端发出的查询请求到MySQL服务器端,而后返回MySQL服务器的响应到客户端。由于MySQL代理使用的MySQL网络协议,因此所有MySQL兼容的客户端(包括mysql命令行、调用mysql命令行的类

2015-03-15 21:16:20 1043

原创 MySQL高可用之MySQL-MMM

一、MMM概述:MySQL Master-Master Replication Manager(MySQL主主复制管理器),用来监控和故障切换,管理mysql Master-Master复制的配置 (同一时间只有一个节点是可写的),附带的工具套件可以实现多个slaves的read负载均衡,因此你可以使用这个工具移除一组服务器中复制延迟较高的服务器的虚拟IP,它还可以实现数据备份、节点之间重

2015-03-15 21:15:37 925

原创 percona之tcprstat 介绍

tcprstat 简介tcprstat 是一个免费、开源的 TCP 分析工具,可以用来观测网络通信状态以及计算 request 和 response 之间的延迟。通过它可以获得应答时间统计信息并将其显示输出。输出格式类似于 Unix 中各种 -stat 工具的模式,如 vmstat、iostat、mpstat 。该工具可以选择观测指定 port 上的通信负载,这种方式使其在针对单实例 da

2015-03-15 21:15:28 835

原创 MySQL监控工具之innotop

INNOTOP 简介INNOTOP是一个通过文本模式显示MySQL和 InnoDB的监测工具。它有很多特点:快速的配置、易于使用等。INNOTOP是用PERL语言写成 的,这是它能更加灵活的使用在各种操作平台之上,它能详细的的监控出当前MYSQL和INNODB运行的状态,以便维护人员根据结果合理的优化 MYSQL,让MYSQL更稳定更高效的运行。是一个系统活动报告,类似于Linux

2015-03-15 21:12:55 858

原创 tpcc-mysql 性能测试

tpcc-mysql安装Tpcc-mysql通过模拟一个电商的业务,主要包含的业务有新增订单,库存查询,发货,支付等模块的测试,用来测试典型的复杂OLTP系统的性能。Tpcc-mysql是percona基于tpcc衍生出来的产品,专用于mysql基准测试。shell> cd /db/tool/tpcc-mysql/src/shell> makecc -w -O2 -g -I. `m

2015-03-15 21:12:31 907

原创 sysbench 0.5 性能测试工具

sysbench 介绍SysBench是一个模块化的、跨平台、多线程基准测试工具,主要用于评估测试各种不同系统参数下的数据库负载情况。它主要包括以下几种方式的测试:cpu性能磁盘io性能调度程序性能内存分配及传输速度POSIX线程性能数据库性能(OLTP基准测试)目前sysbench主要支持 MySQL,pgsql,Oracle 这3种数据库。sysbench 安装

2015-03-15 21:10:32 1966

原创 MySQL监控工具之mytop

安装 mytopshell> tar -zxvf mytop-1.6.tar.gzshell> cd mytop-1.6shell> perl Makefile.PLshell> makeshell> make testshell> make installshell> mytopError in option spec: "long|!注释带下列内容 ## "long

2015-03-15 21:09:36 844

原创 percona之pt-table-checksum介绍

功能介绍:检查mysql复制一致性工作原理:pt-table-checksum在主上执行检查语句,在线检查mysql复制的一致性,生成replace语句,然后通过复制传递到从,再通过update更新master_src的值。通过检测从上this_src和master_src的值从而判断复制是否一致。注意:使用的时候选择业务地峰的时候运行,因为运行的时候会造成表的部分记录

2015-03-15 21:08:35 828

原创 MySQL监控工具之orzdba

安装 orzdba代码SVN地址:http://code.taobao.org/p/orzdba/src/trunk/说明:Perl脚本,用于对Linux主机和MySQL相关指标进行实时监控。修改代码160行左右配置MySQL的相关验证信息,如username,password,host,port,sock等安装tcprstat安装orzdba_rt_depend_perl

2015-03-15 21:07:45 3944

原创 Linux升级Python

查看python的版本shell> python -VPython 2.6.6安装Pythonshell> tar zxvf Python-2.7.9.tgz shell> cd Python-2.7.9建立新的安装路径python,而是安装路径shell> mkdir -p /usr/local/pythonshell> ./configure --prefix=/u

2015-03-15 20:52:08 687

原创 Python Requests简单运用

Requests简介Requests 是使用 Apache2 Licensed 许可证的 HTTP 库。比Python 标准库中的 urllib2 模块功能强大。Requests 使用的是 urllib3,因此继承了它的所有特性。Requests 支持 HTTP 连接保持和连接池,支持使用 cookie 保持会话,支持文件上传,支持自动确定响应内容的编码,支持国际化的 URL 和

2015-03-15 20:51:50 527

原创 Python读写Excel

xlrd模块读取excel处理流程1. 导入模块2. 打开Excel文件读取数据3. 获取一个工作表sheet = book.sheets()[0] #通过索引顺序获取sheet = book.sheet_by_index(0) #通过索引顺序获取sheet = book.sheet_by_name(u'Sheet1')#通过名称获取4.获取整行和整列的

2015-03-15 20:51:13 645

原创 Python Beautiful Soup简介

Beautiful Soup简介Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库.它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式.BeautifulSoupBeautifulSoup 对象表示的是一个文档的全部内容.大部分时候,可以把它当作 Tag 对象,它支持 遍历文档树 和 搜索文档树 中描述的大部分的方法.

2015-03-15 20:49:43 744

原创 MySQL主主复制

主动-主动模式的Master-Master(Master-Master in Active-Active Mode)Master-Master复制也叫双主服务器复制或双向复制,包含两台服务器,既是master,又是另一台服务器的slave。这样,任何一方所做的变更,都会通过复制应用到另外一方的数据库中。修改配置文件db1===============================

2015-03-15 20:47:50 487

原创 MySQL半同步复制

半同步复制简介MySQL复制默认情况下是异步的,主库将事件写入binlog并不管从库是否接受并处理它们,如果主库崩溃时,已提交的事务可能没有被传送到从库,因此主从切换可能导致数据丢失。Semisynchronous Replication(半同步复制)则一定程度上保证提交的事务已经传给了至少一个备库。半同步复制中,仅仅保证事务的已经传递到备库上,但是并不确保已经在备库上执行完成了。半同

2015-03-15 20:46:40 538

原创 MySQL事务隔离

事务隔离级别SQL标准定义了4类隔离级别,包括了一些具体规则,用来限定事务内外的哪些改变是可见的,哪些是不可见的。低级别的隔离级一般支持更高的并发处理,并拥有更低的系统开销。Read Uncommitted(读取未提交内容)在该隔离级别,所有事务都可以"看到"其他未提交事务的执行结果。本隔离级别很少用于实际应用,因为它的性能也不比其他级别好多少。读取未提交的数据,也被称之为

2015-03-15 20:26:23 466

原创 MySQL二进制日志

二进制日志简介二进制日志记录数据库的变化,如创建表操作,表数据增删修改,以及可能会造成数据修改的事件(如没有匹配行的DELETE语句,除非使用ROW-base日志格式),及更新数据消耗的时长。二进制文件不记录SELECT、SHOW等不会修改数据的语句。二进制日志的两个重要作用:用于复制,主库提供数据更改的日志记录将被发送到从库,从库执行同样的操作保证主从数据一致。根据二进制

2014-11-30 18:05:36 496

原创 Redis数据类型

keysredis本质上一个key-value store,所以首先了解它的key。首先key也是字符串类型,但是key中不能包括边界字符。由于key不是binary safe的字符串,所以像”my key”和”mykey\n”这样包含空格和换行的key是不允许的。在redis内部并不限制使用binary字符,这是redis协议限制的。”\r\n”在协议格式中会作为特殊字符。redis 1

2014-10-29 17:37:46 504

原创 Linux安装Redis

安装redisshell> tar -zxvf redis-2.8.13.tar.gz -C /db/redis/shell> cd /db/redis/redis-2.8.13/shell> makeshell> cp redis.conf /etc/ #redis启动的配置文件shell> cd srcshell> cp redis-benchmark redis-

2014-10-29 17:35:44 498

原创 MongoDB在Linux下安装

mongodb安装方式1.下载安装包并解压2.规划数据库安装目录shell> mkdir -p /db/mongo/datashell> mkdir -p /db/mongo/binshell> mv mongodb-linux-i686-2.4.10/bin/* /db/mongo/bin/shell> touch /db/mongo/logs将/db/mongo/

2014-10-29 17:32:01 541

原创 MySQL慢查询日志

慢查询日志简介慢查询日志指mysql记录所有执行时间超过long_query_time参数设定的时间阈值且Rows_examined的值需大于min_examined_row_limit设定值的SQL语句的日志。long_query_time最小值为0,默认值为10,可精确到微秒级别。该日志能为SQL语句的优化带来很好的帮助。语句获取初始锁定的等待时间并不算执行时间,当语句执行

2014-10-29 17:28:24 697

原创 MySQL复制之半同步复制

半同步复制功能的目的是为了保证在master出问题的时候,至少有一台Slave的数据是完整的。在超时的情况下也可以临时转入异步复制,保障业务的正常使用,直到一台salve追赶上之后,继续切换到半同步模式。如果主备网络故障或者备库挂了,主库在事务提交后等待10秒(rpl_semi_sync_master_timeout的默认值)后,就会继续。这时,主备将会自动降级为异步模式。半同步模

2014-10-28 22:23:29 613

原创 MySQL复制之初体验

在主机和备机上分别安装MySQL数据库检查确认主服务器和从服务器上版本一致在主服务器上,设置一个从数据库的账户,使用REPLICATION SLAVE赋予权限[master]mysql> GRANT REPLICATION SLAVE ON *.* TO 'repluser'@'192.168.90.129' IDENTIFIED BY 'oracle';Query OK, 0 rows

2014-10-28 21:26:33 487

原创 MySQL大小写问题

数据库名、表名、表别名大小写window下均不区分大小写(Why?)Linux默认情况下区分大小写 mysql> show variables like 'lower%';+------------------------+-------+| Variable_name | Value |+------------------------+-------+|

2014-09-24 16:37:38 689

原创 Python爬取网络图片

#! /usr/bin/python3.4'''文件名称:spidercsdn.pyversion:1.0'''import sysimport reimport urllib.request#模拟请求的浏览器,操作系统信息,如无可能会出现403headers = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64;rv:23.

2014-07-29 13:43:01 703

转载 MongoDB基本管理命令

MongoDB是一个NoSQL数据库系统:一个数据库可以包含多个集合(Collection),每个集合对应于关系数据库中的表;而每个集合中可以存储一组由列标识的记录,列是可以自由定义的,非常灵活,由一组列标识的实体的集合对应于关系数据库表中的行。下面通过熟悉MongoDB的基本管理命令,来了解MongoDB提供的DBMS的基本功能和行为。MongoDB命令帮助系统

2014-06-11 16:27:18 724

原创 InnoDB存储引擎

数据库:物理操作系统文件或其他形式文件类型的集合。数据库实例:由数据库后台进程/线程以及一个共享内存区组成,用来操作数据库文件一个数据库对用一个数据库实例,集群对应多个实例。启动实例时,MySQL会读取配置文件,根据配置文件参数启动数据库实例[root@localhost ~]# mysql --help |grep my.cnf                   

2014-04-13 18:07:17 1074

原创 REPLACE与INSERT INTO ... ON DUPLICATE KEY总结

原始数据:mysql> select * from emp;+-------+---------+---------+------------+| empno | empname | salary  | birthday   |+-------+---------+---------+------------+|  1001 | tom     | 2999.00 | 2013

2014-02-18 15:38:36 998

原创 MySQL临时表

当你创建临时表的时候,你可以使用temporary关键字。如:CREATE TEMPORARY TABLE tmp_table(name varchar(10) not null,passwd char(6) not null);或CREATE TEMPORARY TABLE IF NOT EXISTS  tmp_table ENGINE = MEMORY SELECT …from …

2014-02-18 15:34:13 675

原创 MySQL Memory存储引擎表

内存表使用哈希散列索引把数据保存在内存中,因此具有极快的速度,适合缓存中小型数据库,但是使用上受到一些限制。内存表,就是放在内存中的表,所使用内存的大小可通过my.cnf中的max_heap_table_size指定,如max_heap_table_size=512M,内存表与临时表并不相同,临时表也是存放在内存中,临时表最大所需内存需要通过tmp_table_size设定。当数据

2014-02-18 15:13:04 1945

MySQL性能调优与架构设计.pdf

阿里DBA写的,从各个方面解读MySQL性能优化方向。缺点是书中错别字太多,不过书的内容还可以

2013-12-19

MySQL技术内幕:SQL编程

MySQL入门学习SQL语言不错的书,包含基本查询、索引及MySQL分区的解析。

2013-12-18

空空如也

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

TA关注的人

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