数据库mysql
小米饭团
这个作者很懒,什么都没留下…
展开
-
一致性哈希算法及其在分布式系统中的应用
摘要 本文将会从实际应用场景出发,介绍一致性哈希算法(Consistent Hashing)及其在分布式系统中的应用。首先本文会描述一个在日常开发中经常会遇到的问题场景,借此介绍一致性哈希算法以及这个算法如何解决此问题;接下来会对这个算法进行相对详细的描述,并讨论一些如虚拟节点等与此算法应用相关的话题。 分布式缓存问题 假设我们有一个网站,最近发现随着流量增加,服务器压力越来转载 2011-10-23 21:41:10 · 405 阅读 · 0 评论 -
MySQL 主从同步操作文档
MySQL 主从同步操作文档 取自 NSOP-WIKI 目录 1 同步原理说明 2 同步设置基本步骤(以下设置均涉及my.cnf文件的修改) 2.1 设置主(she4 zhi4 zhu3)服务器:启用bin-log日志、同步帐号 2.2 设置从服务器:设置需要同步的内容 2.3 拷贝主服务器数据到从服务器 2.3.1 方式1:停止主服务器或其中一台从原创 2011-12-16 21:51:42 · 825 阅读 · 0 评论 -
MySQL SHOW TABLE STATUS 字段
SHOW TABLE STATUS会返回以下字段: Name 表的名称。 Engine 表的存储引擎。在MySQL 4.1.2之前,本值被标记为Type。 Version 表的.frm文件的版本号。 Row_format 行存储格式(Fixed,Dynam原创 2011-12-16 22:09:46 · 709 阅读 · 0 评论 -
一篇MYSQL表优化的文章
原文引自:http://topic.csdn.net/u/20080105/11/f5b189c8-e308-4561-a68f-98b913a0e3b4.html MySQL优化经验 Wikipedia,自由的百科全书 同时在线访问量继续增大 对于1G内存的服务器明显感觉到吃力严重时甚至每天都会死机 或者时不时的服务器卡一下 这个问题曾经困扰了我半个多月MySQL使用是很具伸缩性的转载 2011-12-16 22:36:07 · 347 阅读 · 0 评论 -
MySQL数据库存储引擎MyISAM和InnoDB的详解对比
之前Eugene兄已经写过两篇关于myisam转innodb引擎的文章,我今天把myisam和innodb引擎的差别做了一个整理,目的是让大家更深的理解两个引擎的差别之处,让大家在项目初期选择数据库引擎或者中期改变引擎的时候少走弯路。 一、简单介绍 1.MyISAM:默认表类型,它是基于传统的ISAM类型,ISAM是Indexed Sequential Access Method (有索引转载 2011-12-09 14:56:51 · 787 阅读 · 0 评论 -
mysql show status 总结
SHOW [GLOBAL | SESSION] STATUS [LIKE 'pattern'] SHOW STATUS提供服务器状态信息。此信息也可以使用mysqladmin extended-status命令获得。 使用GLOBAL选项,您可以得到所有MySQL连接的状态值。使用SESSION,您可以得到所有当前连接的状态值。如果您两个选项都不使用,则默认值为SESSION。LOCA原创 2012-02-17 18:33:20 · 1971 阅读 · 1 评论 -
MySQL Replication(复制)基本原理
1、复制进程 Mysql的复制(replication)是一个异步的复制,从一个Mysql instace(称之为Master)复制到另一个Mysql instance(称之Slave)。实现整个复制操作主要由三个进程完成的,其中两个进程在Slave(Sql进程和IO进程),另外一个进程在 Master(IO进程)上。 要实施复制,首先必须打开Master端的binary log(bin-log转载 2012-02-17 15:32:21 · 653 阅读 · 0 评论 -
python mysqldb
linux版本 http://sourceforge.net/projects/mysql-python/ 下载,在安装是要先安装setuptools,然后在下载文件目录下,修改mysite.cfg,指定本地mysql的mysql-config文件的路径 windows版本 网上搜索到一个http://www.technicalbard.com/files/MySQL-python-1.2.转载 2012-02-18 10:18:48 · 557 阅读 · 0 评论 -
如何将数据库水平切分
转:http://www.nowamagic.net/database/db_SplitHorizontally.php 在大中型项目中,在数据库设计的时候,考虑到数据库最大承受数据量,通常会把数据库或者数据表水平切分,以降低单个库,单个表的压力。这里介绍两个项目中常用的数据表切分方法。当然这些方法都是在程序中使用一定的技巧来路由到具体的表的。首先我们要确认根据什么来水平切分?在我们的系统转载 2012-03-11 18:59:14 · 2560 阅读 · 0 评论 -
mysql 复合索引 总结
对于复合索引:Mysql从左到右的使用索引中的字段,一个查询可以只使用索引中的一部份,但只能是最左侧部分。例如索引是key index (a,b,c). 可以支持a | a,b| a,b,c 3种组合进行查找,但不支持 b,c进行查找 .当最左侧字段是常量引用时,索引就十分有效。下面用几个例子对比查询条件的不同对性能影响. create table test( a int, b in原创 2012-03-11 10:01:53 · 4424 阅读 · 0 评论 -
基于 MySQL的高可用可扩展架构探讨
原文引自:http://www.programmer.com.cn/3567/ 随着信息量飞涨,信息的存储成为了这个时代至关重要的一项技术。如何来保证数据存储技术能够适应信息量的增长速度和我们对信息的高度依赖,成为一个非常重要的课题。本文将从数据库架构的层面,通过以开源的数据存储软件来构建分布式数据层的思路,期望实现一个低成本的高可用可扩展的数据层架构。 传统数据转载 2011-12-16 22:24:04 · 389 阅读 · 0 评论 -
Mysqlslap 压力测试 简单教程
Mysqlslap是从5.1.4版开始的一个MySQL官方提供的压力测试工具。通过模拟多个并发客户端访问MySQL来执行压力测试,同时详细的提供了“高负荷攻击MySQL”的数据性能报告。并且能很好的对比多个存储引擎在相同环境下的并发压力性能差别。 它的使用语法如下: shell>/usr/local/mysql/bin/mysqlslap [options] 常用参数【options】详细介绍原创 2011-12-16 21:48:55 · 541 阅读 · 0 评论 -
MySQL DBA 常用手册
1.mysql的远程连接命令可以远程导入导出数据 mysqldump --default-character-set=gb2312 -h255.255.000.00 -uroot -pxxxxxx mydatabase>d:\data.sql 将指定的数据库导出到一个外部SQL文件中去! 还原命令: mysql --default-character-set=gb2312 -h25转载 2011-12-16 21:41:21 · 408 阅读 · 0 评论 -
memcached和redis在用法上的不同
写入数据:set方法不同 memcached可以直接写入单个值或一维数组、二维数组数据, redis可以写单个数据,一维数组和二维数组数据需要序列化后再写入. 读取数据:get方法不同 memcached读取单个值、一维数组、二维数组数据 通过get方法即可读取: get() get(array) redis读取单个值直接有get读取反序列化后返回,转载 2011-10-23 19:05:52 · 623 阅读 · 0 评论 -
Redis php 扩展安装
phpredis: https://github.com/owlient/phpredis 安装git yum -y install git 或者 sudo apt-get install git 安装好git 后获取源代码 git clone https://github.com/owlient/phpredis.git 得到源码之后解压进入源码的目录:原创 2011-10-23 20:39:51 · 457 阅读 · 0 评论 -
mysql 存储引擎 InnoDB和myisam存储引擎的区别 /(自己小结)
InnoDB和MyISAM简介 MyISAM:这个是默认类型,它是基于传统的ISAM类型,ISAM是Indexed Sequential Access Method (有索引的 顺序访问方法) 的缩写,它是存储记录和文件的标准方法.与其他存储引擎比较,MyISAM具有检查和修复表格的大多数工具. MyISAM表格可以被压缩,而且它们支持全文搜索.它们不是事务安全的,而且也不支持外键。如果事物原创 2011-10-23 18:34:25 · 673 阅读 · 0 评论 -
MySQL拾零
仅仅是看一些书是零零散散记下的,给自己备忘而已。建议去看专业网站的笔记。 1.主键的值必须是唯一的,并且不能为空,这可以提高MySQL从多个表中取得数据或者取得指定键值对应的行的速度。MySQL通过一个特殊的称为Index索引的数据结构做到这一点,Index是找到一条记录的快捷方式,就像图书馆的卡片目录。 2.查看表的列定义使用describe命令.转载 2011-10-29 15:47:21 · 428 阅读 · 0 评论 -
redis学习总结
Redis学习总结 redis是一个单线程基于事件机制的一个模型,使用事件处理框架 aeEvent 1. 启动过程 Reids的启动过程大致如下: 1.初始化全局struct server数据结构,给每个成员赋予默认值:initServerConfig() 2.如果指定了配置文件,会读取redis.conf重新赋值给structserver实例:loadSer转载 2011-11-26 12:02:42 · 524 阅读 · 0 评论 -
Mysql学习笔记:Mysql服务器体系结构(一)
本文是基于Percona-Server-5.1.54源码进行学习的。参考了《深入理解Mysql核心技术》 。 MYSQL服务器主要模块: l 服务器初始化模块 l 连接管理器 l 线程管理器 l 连接线程 l 用户验证模块 l 访问控制模块 l 解析器 l 命令调度器 l 查询高速缓存模块 l 优化器 l 表管理器 l 表修改模块 l 表维护原创 2011-11-26 12:18:51 · 508 阅读 · 0 评论 -
[Redis] redis-cli 命令总结
Redis提供了丰富的命令(command)对数据库和各种数据类型进行操作,这些command可以在Linux终端使用。在编程时,比如使用Redis 的Java语言包,这些命令都有对应的方法。下面将Redis提供的命令做一总结。 官网命令列表:http://redis.io/commands (英文) 1、连接操作相关的命令 quit:关闭连接(connection) au转载 2011-12-04 14:07:21 · 2986 阅读 · 0 评论 -
MySQL性能优化
1. 简介 在Web应用程序体系架构中,数据持久层(通常是一个关系数据库)是关键的核心部分,它对系统的性能有非常重要的影响。MySQL是目前使用最多的开源数据库,但是MySQL数据库的默认设置性能非常的差,仅仅是一个玩具数据库。因此在产品中使用MySQL数据库必须进行必要的优化。 优化是一个复杂的任务,本文描述MySQL相关的数据库设计和查询优化,服务器端优化,存储引擎优化。 2转载 2011-12-06 09:11:38 · 497 阅读 · 0 评论 -
linux高负载下彻底优化mysql数据库【转贴】
同时在线访问量继续增大 对于1G内存的服务器明显感觉到吃力严重时甚至每天都会死机 或者时不时的服务器卡一下 这个问题曾经困扰了我半个多月MySQL使用是很具伸缩性的算法,因此你通常能用很少的内存运行或给MySQL更多的被存以得到更好的性能。 安装好mysql后,配制文件应该在/usr/local/mysql/share/mysql目录中,配制文件有几个,有my-huge.cnf my-med转载 2011-12-05 21:22:16 · 1058 阅读 · 0 评论 -
MySQL my.cnf 中文参考
#BEGIN CONFIG INFO #DESCR: 4GB RAM, 只使用InnoDB, ACID, 少量的连接, 队列负载大 #TYPE: SYSTEM #END CONFIG INFO # # 此mysql配置文件例子针对4G内存 # 主要使用INNODB # 处理复杂队列并且连接数量较少的mysql服务器 # # 将此文件复制到/etc/my.cnf 作为全局设置, # mysql-da转载 2011-12-16 22:00:43 · 383 阅读 · 0 评论 -
MySQL 性能监控
一,获取mysql用户下的进程总数 ps -ef | awk '{print $1}' | grep "mysql" | grep -v "grep" | wc-1 二,主机性能状态 # uptime [root@ ~]# uptime 13:05:52 up 53 days, 52 min, 1 user, load average: 0.00, 0.00, 0.原创 2011-12-16 22:05:54 · 341 阅读 · 0 评论 -
解决Mysql(MyISAM)的读写互斥锁的问题
最近因为数据库读的请求增加,出现了比较严重的读写锁问题,由于主从分离,主服务器很快的执行完了写入的操作,但从库由于有大量的select的查询,会被这些来自主辅同步的update,insert严重堵塞,最后造成所有的Mysql从库负载迅速上升。由于没办法在短期内增加读的服务器,所以采取对Mysql进行了一些配置,以牺牲数据实时性为代价,来换取所有服务器的生命安全。呵呵,具体相关调整以及思路如下:原创 2011-12-16 22:14:09 · 595 阅读 · 0 评论 -
python mysql cursor的一个bug 出2014错误
使用python连接mysql数据库时,如果遇到这样的错误提示: (2014, "Commands out of sync; you can't run this command now") 可能是你的几条sql语句执行顺序有问题,也有可能是cursor本身的bug。 在执行sql语句前最好清空 cursor里面的所有内容。 def executeNonQuery(curs原创 2012-07-05 17:02:53 · 3378 阅读 · 0 评论