
mysql+Nosql
文章平均质量分 84
jiedushi
大数据10年左右工作经验,喜欢工作中遇到的问题与解决整理到博客
展开
-
mysql中使用内置定时事件的功能来定时删除 binlog
转载自:扶凯[http://www.php-oa.com]在 MySQL5.1.6 起,增加了一个不错的功能–事件调度器(Event Scheduler),可以用做定时执行某些特定任务,来取代原先只能由操作系统的计划任务来执行的工作。更值得 一提的是MySQL的事件调度器可以精确到每秒钟执行一个任务,而操作系统的计划任务(如:Linux下的CRON或Windows下的任务计划)只能精转载 2012-02-14 17:51:59 · 1798 阅读 · 0 评论 -
用Tcpdump抓取MySQL执行的SQL
<br /><br />!/bin/bash<br />tcpdump -i eth0 -s 0 -l -w out.log port 3306 | strings | perl -e '<br />#!/bin/bash<br />while(<>) { chomp; next if /^[^ ]+[ ]*$/;<br />if(/^(SELECT|UPDATE|DELETE|INSERT|SET|COMMIT|ROLLBACK|CREATE|DROP|ALTER|CALL)/i) {<br />if (转载 2011-03-12 11:38:00 · 1274 阅读 · 0 评论 -
MySQL 的DRBD 与MMM
<br />當網站越做越大的時候,資料庫的 HA (High Available) 就很重要了。業界常用的是 DRBD,上個月我去了北京參加系統架構師大會,中國的網站大部分解決資料庫 HA 都是用 DRBD 。<br />DRBD 簡單說就是 RAID 1 over TCP 。也就是透過 TCP 讓兩台主機的硬碟內容完全一模一樣,因此不只是 MySQL 可以使用 DRBD ,只要是任何會需要用到硬碟的 Server ,都可以用 DRBD 來做 HA,加上 MySQL InnoDB Engine 本身的 cr转载 2011-03-10 10:17:00 · 1066 阅读 · 1 评论 -
mysql 性能优化方案
<br /><br />网上有不少mysql 性能优化方案,不过,mysql的优化同sql server相比,更为麻烦与负责,同样的设置,在不同的环境下 ,由于内存,访问量,读写频率,数据差异等等情况,可能会出现不同的结果,因此简单地根据某个给出方案来配置mysql是行不通的,最好能使用status信息对mysql进行具体的优化,网上找了一篇文章,分页分得乱七八糟的,只能转到博客。<br />mysql> show global status;<br /> 可以列出MySQL服务器运行各种状态值,另外,查转载 2011-03-09 17:25:00 · 755 阅读 · 0 评论 -
MySQL Replication(复制)基本原理
<br />1、复制进程<br />Mysql的复制(replication)是一个异步的复制,从一个Mysql instace(称之为Master)复制到另一个Mysql instance(称之Slave)。实现整个复制操作主要由三个进程完成的,其中两个进程在Slave(Sql进程和IO进程),另外一个进程在 Master(IO进程)上。<br /><br />要实施复制,首先必须打开Master端的binary log(bin-log)功能,否则无法实现。因为整个复制过程实际上就是Slave从Maste转载 2011-03-09 16:19:00 · 685 阅读 · 0 评论 -
将MySQL数据映射到Memcached中
<br /><br /> <br /><br />测试环境在Linux下进行,版本系统为CentOS5.<br />以下为相关软件,包括其版本和下载地址:<br /><br />mysql-5.1.30 下载<br />memcached-1.2.6 下载<br />libevent-1.4.7-stable 下载<br />memcached_functions_mysql-1.1 下载<br />libmemcached-0.26 下载<br /><br />编译安装MySQL,安装因个人细好而定,省略转载 2011-02-10 13:22:00 · 4650 阅读 · 0 评论 -
高性能Nosql数据库Kyoto Cabinet安装笔记
官方网站介绍 http://fallabs.com/kyotocabinet/Kyoto Cabinet是一个key-value数据库管理程序的library ,key和value都可以使二进制或者字符串格式。数据存储存分hash和b+ tree模式。 Kyoto Cabinet非常快,在hash模式下,插入100万数据只要0.9秒,在b+ tree模式下只要1.1秒。查询200万条数据也只需要1秒。并且Kyoto Cabinet的数据文件占用的空间也非常小。Kyoto Cabinet的可伸缩性也是非常原创 2010-11-26 14:25:00 · 7685 阅读 · 1 评论 -
MySQL 多端口 For Linux
<br />有2种情况,<br />1 同一个版本,启动多个端口<br />2 不同版本,启动多端口<br /><br />同一版本启动多端口很简单<br />/usr/local/webserver/mysql/bin/mysqld_safe --defaults-file=/var/mysql3306/my.cnf &<br /><br />/usr/local/webserver/mysql/bin/mysqld_safe --defaults-file=/var/mysql3307/m转载 2010-11-17 17:10:00 · 2409 阅读 · 0 评论 -
一个mysql小技巧
mysql> ALTER TABLE `sbear` ADD PRIMARY KEY ( `a_id` , `b_id` ) ;ERROR 1062 (23000): Duplicate entry ‘88-501200′ for key ‘PRIMARY’建立联合主键时发现出错,88,501200已经早有多条记录了。主键建立失败,需要删除多余的记录,并且有多组这样的重复记录。这时候使用“ignore”就能将多余的记录删除只保留一条,并且建立联合主键。mysql> ALTER ignore TABL转载 2011-01-12 08:31:00 · 1008 阅读 · 0 评论 -
memcached repcached 同步
#安装wget http://downloads.sourceforge.net/project/repcached/repcached/2.2-1.2.8/repcached-2.2-1.2.8.patch.gzwget http://downloads.sourceforge.net/repcached/memcached-1.2.8-repcached-2.2.tar.gz tar zxf memcached-1.2.8-repcached-2.2.tar.gz cd memcac转载 2011-01-10 09:02:00 · 2357 阅读 · 0 评论 -
MySQL主从服务器的一些技巧
<br /><br />作者:老王<br />问题:主从服务器表类型的选择<br />一般的共识是主服务器使用innodb,从服务器使用myisam,以便各尽其能。<br />问题:主从服务器字段类型的选择<br />字段类型对于分页等操作有很大影响。主服务器一般是innodb,因为不涉及查询,所以可以使用varchar等来存储字符串来节省空间,从服务器一般是 myisam,因为涉及查询,所以必须在char和varchar之间仔细权衡,没有varchar, text, blob字段的表是静态表,反之转载 2011-01-12 13:52:00 · 698 阅读 · 0 评论 -
可动态迁移的 mysql 架构
<br />mysql 的架构已经讨论很多了,这里最为经典的要算 ( 主 -> 从 ) 结构了。( 下面用 M 表示Master S 表示Slave S1 S2 分别表示一级Slave 二级Slave )<br /><br />这个架构的优点是 S 不唯一 分担了查询的压力 , 即使 1两个 S 损坏也不会影响正常的使用 ,缺点是 M 是唯一的,一旦顺坏,将影响所有写入的请求。<br /><br />对于这个缺点又有很多不同的解决方案。<br /><br />方案1:<br />这个结构,当 S 损转载 2011-03-19 17:26:00 · 1571 阅读 · 0 评论 -
mysql往infobright中按天导数据脚本
一) infobright安装文档:1)下载infobright并解压到home下wget http://ftp2.ie.netbsd.org/mirrors/download.sourceforge.net/pub/sourceforge/i/project/in/infobright/ICE%20v3.3.1%20for%20Linux/infobright-3.3.1-x86_64-ice.tar.gztar zxvf infobright-3.3.1-x86_64-ice.tar.gzmv info转载 2011-05-12 08:12:00 · 2249 阅读 · 0 评论 -
高性能NOSQL数据库redis结合谷歌开源tcmalloc库的安装笔记
TCMalloc(Thread-Caching Malloc)是google开发的开源工具──“google-perftools”中的成员。与标准的glibc库的malloc相比,TCMalloc在内存的分配上效率和速度要高得多,可以在很大程度上提高MySQL服务器在高并发情况下的性能,降低系统负载。TCMalloc库的安装步骤(Linux环境): 1、64位操作系统请先安装libunwind库,32位操作系统不要安装。libunwind库为基于64位CPU和操作系统的程序提供了基本的堆栈辗转开解功能,其原创 2011-03-29 15:55:00 · 2730 阅读 · 0 评论 -
MySQL如何从完全备份恢复单个InnoDB表
译者序:曾经因为想要从完全备份文件中恢复某个InnoDB表而在搜索引擎中到处翻。这篇文章给了我们一个非常好的指导。另外,本文还涉及了为什么InnoDB不能拷贝数据库文件等话题。有时,数据丢失的问题出现在某些表中,我们只需要从完全备份中恢复这少部分表。在这个特殊的场景中,恢复单张表要比做一次完全恢复要快得多。在MyISAM环境中,恢复单张表要容易得多,但是如果你的环境为InnoDB,这项任务转载 2012-01-31 17:55:29 · 5410 阅读 · 0 评论 -
设置自动清理mysql binlog日志和手动删除的方法
MYSQL主从复制(replication)采用 RBR 模式后,binlog的格式为"ROW",能解决很多原先出现的主键重复问题。在一个繁忙的master db server上,binlog日志文件增长速度很快,如果不定时清除,硬盘空间很快就会被充满。设置自动清理mys转载 2011-09-29 12:47:29 · 6915 阅读 · 0 评论 -
Mysql点滴-MYSQL字符数字转换
1.将字符的数字转成数字,比如'0'转成0可以直接用加法来实现例如:将pony表中的d 进行排序,可d的定义为varchar,可以这样解决select * from pony order by (d+0)2.在进行ifnull处理时,比如 ifnull(a/b转载 2011-09-21 14:48:31 · 3317 阅读 · 0 评论 -
mysql互为主从复制配置笔记
MySQL-master1:192.168.72.128MySQL-master2:192.168.72.129OS版本:CentOS 5.4MySQL版本:5.5.9 (主从复制的master和slave服务器中的mysql版本相同或者master版本高于slave原创 2011-03-09 10:12:00 · 4273 阅读 · 0 评论 -
RHEL/CentOS 5.x使用yum快速安装MySQL 5.5.x
1、安装MySQL 5.5.x的yum源:rpm -Uvh http://repo.webtatic.com/yum/centos/5/latest.rpm2、安装MySQL客户端的支持包:yum install libmysqlclient15 --enab转载 2011-09-19 13:15:03 · 2265 阅读 · 0 评论 -
一个适用于CentOS下的Redis启动脚本
下面是一个Shell脚本,用于管理Redis进程(启动,停止,重启),如果你在使用Redis,这个脚本可供参考。#!/bin/sh## redis - this script starts and stops the redis-server daemon## c转载 2011-08-08 09:13:03 · 3249 阅读 · 0 评论 -
Mysql innodb引擎和myisam引擎使用索引区别
首先你要理解,innodb的主键索引都是聚簇索引,它的辅助索引里面都包含有表的主键,而且主键都在辅助索引的最后一列.而myisam的索引,都是普通索引,存储的是列的值,还有列在原表中的地址值---不存储主键值.好了,下面我们开始:先创建两个表:一个是innodb引擎的,一个是myisam引擎的CREATE TABLE `innodb` ( `id` int(10) UNSIGNED转载 2011-06-06 21:32:00 · 3030 阅读 · 0 评论 -
MySQL索引类型及优化
索引是快速搜索的关键。MySQL索引的建立对于MySQL的高效运行是很重要的。下面介绍几种常见的MySQL索引类型。在数据库表中,对字段建立索引可以大大提高查询速度。假如我们创建了一个 mytable表:CREATE TABLE mytable( ID INT NOT NULL, username VARCHAR(16) NOT NULL); 我们随机向里面插入了10转载 2011-06-07 22:30:00 · 8654 阅读 · 1 评论 -
关于使用索引(Index)的一些注意点
而通常情况下,使用索引比全表扫描要块几倍至几千倍,所以对索引要有比较深入的了解。某些情况下SELECT 语句中的WHERE子句用到索引列,但生成的执行计划却不使用索引。这里有一些例子. 1.1.1 ‘!=’,NOT操作将不使用索引. 记住, 索引只能告诉你什么存在于表中, 而不能告诉你什么不存在于表中 不使用索引: SELECT ACCOUNT_NAME FROM TRANSACTION转载 2011-06-06 21:37:00 · 1197 阅读 · 0 评论 -
mysql删除大表更快的drop table办法
<br />曾经发文介绍过,DROP table XXX ,特别是碰到大表时,<br />http://www.mysqlops.com/2011/02/18/mysql-drop-table-%e5%a4%84%e7%90%86%e8%bf%87%e7%a8%8b.html<br />在DROP TABLE 过程中,所有操作都会被HANG住。<br />这是因为INNODB会维护一个全局独占锁(在table cache上面),直到DROP TABLE完成才释放。<br />在我们常用的ext3,ext4,转载 2011-05-24 13:16:00 · 1273 阅读 · 0 评论 -
MySQL存储过程之事务管理
MySQL存储过程之事务管理 ACID:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)存储程序提供了一个绝佳的机制来定义、封装和管理事务。 1,MySQL的事务支持MySQL的事务支持不是绑定在MySQL服务器本身,而是与存储引擎相关: MyISAM:不支持事务,用于只读程序提高性能InnoDB:支持ACID事务、行级锁、并发Berkeley DB:支持事务隔离级别: 隔离级别决定了一个session中的事务可能对另一个sessi转载 2011-01-12 10:27:00 · 1106 阅读 · 0 评论 -
图解SQL的Join
<br /><br />对于SQL的Join,在学习起来可能是比较乱的。我们知道,SQL的Join语法有很多inner的,有outer的,有left的,有时候,对于Select出来的结果集是什么样子有点不是很清楚。Coding Horror上有一篇文章(实在不清楚为什么Coding Horror也被墙)通过 文氏图 Venn diagrams 解释了SQL的Join。我觉得清楚易懂,转过来。<br />假设我们有两张表。Table A 是左边的表。 Table B 是右边的表。 <br />其各转载 2011-01-11 11:45:00 · 812 阅读 · 0 评论 -
linux高负载下mysql数据库彻底优化
<br />同时在线访问量继续增大 对于1G内存的服务器明显感觉到吃力严重时甚至每天都会死机 或者时不时的服务器卡一下 这个问题曾经困扰了我半个多月MySQL使用是很具伸缩性的算法,因此你通常能用很少的内存运行或给MySQL更多的被存以得到更好的性能。 <br /><br />安装好mysql后,配制文件应该在/usr/local/mysql/share/mysql目录中,配制文件有几个,有my-huge.cnf my-medium.cnf my-large.cnf my-small.cnf,不同的流量的网转载 2011-01-10 09:26:00 · 705 阅读 · 0 评论 -
查看MSSQL数据库每个表占用的空间大小
我在工作中碰到了一些问题,需要查看数据库表的大小,查询SQL Server联机从书得到如下语句:sp_spaceused显示行数、保留的磁盘空间以及当前数据库中的表所使用的磁盘空间,或显示由整个数据库保留和使用的磁盘空间。语法sp_spaceused [[@objname =] objname] [,[@updateusage =] updateusage]参数[@objname =转载 2009-04-18 10:19:00 · 913 阅读 · 0 评论 -
使用MySQL计划任务
原先,LAMP的程序员为了完成一些周期性的数据库操作任务,总是不得不借助于操作系统的帮助,比如Windows的计划任务,或者Linux的contab。MySQL5.1终于新增了Event Scheduler功能,可以直接在后台实现一下定时性的作业。但不知道什么原因,在英文版的参考手册中,位于触发器和视图之间的第20章Event Scheduler,在中文版中被删减掉了,手册的其他部分也没有丝毫提到原创 2008-11-06 11:03:00 · 5119 阅读 · 2 评论 -
查询同一表内多字段同时重复记录的SQL语句
比如现在有一人员表 (表名:peosons)若想将姓名、身份证号、住址这三个字段完全相同的记录查询出来 select p1.* from persons p1,persons p2 where p1.id可以实现上述效果. 网页教学网 几个删除重复记录的SQL语句 1.用rowid方法 2.用group by方法 Webjx.C转载 2008-10-17 15:25:00 · 1067 阅读 · 0 评论 -
(转)精妙SQL语句集合(收集)
下列语句部分是Mssql语句,不可以在access中使用。SQL分类: DDL—数据定义语言(Create,Alter,Drop,DECLARE) DML—数据操纵语言(Select,Delete,Update,Insert) DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK)首先,简要介绍基础语句:1、说明:创建数据库Create DATABASE database转载 2008-07-03 08:16:00 · 629 阅读 · 0 评论 -
sql server中查询删除含有回车换行制表符的记录
-- 制表符 CHAR(9) -- 换行符 CHAR(10) -- 回车 CHAR(13) --在表aaa中过滤包含回车换行符的字段b的记录 select * from aaawhere charindex(char(10)+char(13),b)>0 --在表aaa中把包含原创 2008-09-15 16:49:00 · 7363 阅读 · 1 评论 -
取表中第30到第40条记录
标实字段没有规律 select top 10 * from 飞狐工作室 where 身份证号码 not in (select top 30 身份证号码 from 飞狐工作室) order by 身份证号码 asc标实字段有规律(例如:自动编号)select top 10 * from 章立民研究室 where 员工编号 not in (select top 30 员工编号 fro转载 2008-07-15 08:55:00 · 1126 阅读 · 0 评论 -
去掉字段中的空格但英文字段不去空格
update aaa set name = replace(name, ,) where Unicode(ltrim(name)) ASCII(ltrim(name)) update tab1 set name = rtrim(ltrim(name)转载 2008-07-15 08:56:00 · 1049 阅读 · 0 评论 -
一次性替换数据库中所有表所有列的关键字
要实现类型为varchar,nvarchar的字段是很容易实现的,用一句SQL就可以搞定:update Table set Column=Replace(Column,oldkeyword,newkeyword).但如果你用这句SQL语句去更新类型为text,ntext的字段是就要报错了:err info:消息 8116,级别 16,状态 1,第 1 行参数数据类型 text 对转载 2008-07-15 08:51:00 · 2085 阅读 · 0 评论 -
分割字段的sql语句
if exists (select * from dbo.sysobjects where id = object_id(N[dbo].[f_GetStr]) and xtype in (NFN, NIF, NTF)) drop function [dbo].[f_GetStr] GO转载 2008-07-15 08:57:00 · 1619 阅读 · 0 评论 -
SQL Server 2005之PIVOT/UNPIVOT行列转换
作者: NinGoo(http://ningoo.itpub.net)发表于: 2007.04.18 11:49分类: SQL Server 出处: http://ningoo.itpub.net/post/2149/281485---------------------------------------------------------------SQL Server2005引转载 2008-07-15 08:53:00 · 572 阅读 · 0 评论 -
Sql语句日期的Between和and
最近做了一个有奖答题程序,后台有根据日期查询用户的答题数量,可是遇到了问题,数据库中的内容为 IdNameDate1张三2009/4/5 09:13:182李四2009/4/6 15:48:363王五2007/4/7 20:47:58 sql查询语句为select * from tabl原创 2009-04-20 14:14:00 · 28927 阅读 · 1 评论 -
Mysql Limit操作
转自http://www.zhenhua.org/article.asp?id=200select * from table LIMIT 5,10; #返回第6-15行数据 select * from table LIMIT 5; #返回前5行 select * from table LIMIT 0,5; #返回前5行性能优化: 基于MySQL5.0中limit的高性能,我对数据分页也转载 2009-10-21 13:37:00 · 640 阅读 · 0 评论 -
通过分区(Partition)提升MySQL性能
什么是数据库分区?数据库分区是一种物理数据库设计技术,DBA和数据库建模人员对其相当熟悉。虽然分区技术可以实现很多效果,但其主要目的是为了在特定的SQL操作中减少数据读写的总量以缩减响应时间。分区主要有两种形式://这里一定要注意行和列的概念(row是行,column是列)1. 水平分区(Horizontal Partitioning)这种形式分区是对表的行进行分区,通过这样的方式不同分组里面的物转载 2009-12-19 13:58:00 · 727 阅读 · 0 评论