随笔分类 - MySQL
摘要:OverviewMySQL Replication是MySQL中最常用也是最重要的结构之一。不象市场上其它的产品,它拥有即装即用、易配置、免费等特点。在很多大中小型应用场景下都用它来进行"scale-out"扩展。另外也用它来进行异地备份。在开始之前,需要先理解"Semi-Synchronous Replication"的概念。"Synchronous(同步)"是什么,为什么它只是"Semi(半)"。Asynchronous VS. SynchronousSynchronous:每个写事务(insert\updat
阅读全文
摘要:按照'Get MySQL Cluster Running-Linux'上的步骤,进行到如下步骤时:[cuser1@localhostmy_cluster]$/home/cuser1/mysqlc/bin/ndb_mgmd-fconf/config.ini--initial--configdir=/home/cuser1/my_cluster/conf/MySQLClusterManagementServermysql-5.1.56ndb-7.1.132011-06-0715:25:37[MgmtSrvr]WARNING--atline4:[MGM]idisdeprecated,
阅读全文
摘要:在mysql中复制已有的表结构给一个新表的方法:第一种方法:createtablecustNew1likecustomers;这种方法只能被复制的表是什么结构,新表就是什么结构,无法在建表的同时进行增加新列的行为。不过新表会保留被复制表的索引结构。第二种方法:createtablecustNew2(idintauto_incrementnotnullprimarykey)select*fromcustomers;这种方法是可以新添加列的,不过它不会保留被复制表的索引结构。上面这条语句不仅会把被复制表的结构复制过来,数据也会被复制。如果不想复制数据可以加'where'子句:cre
阅读全文
摘要:"TCMalloc(Thread-Caching Malloc)是google-perftools工具中的一个,与标准的glibc库的malloc相 比,TCMalloc在内存的分配上效率和速度要高得多,可以提高Mysql服 务器在高并发情况下的性能,降低系统负载。"今天动手测试了一下TCMalloc对mysql的影响,以下是我测试的流水过程:硬件:CPU:Intel(R) Xeon(R) CPU 5110@1.60GHz(四核心)MEMORY:4G软件:OS:CentOS release 5.3 (Final)MySQL edition:5.5.12-log测试工具:sy
阅读全文
摘要:在oltp测试中,它基本上分为三个阶段:一是prepare阶段,在此阶段,sysbench会在被测试数据库中建立一张表,名为sbtest。这张表默认是在sbtest库中。你可以随意指定其它自己手动建立的库,即使你指定为sbtest库,库仍然需要你手动建立, sysbench并不会为你建立库。sbtest表的结构如下:CREATETABLE`sbtest`(`id`int(10)unsignedNOTNULLAUTO_INCREMENT,`k`int(10)unsignedNOTNULLDEFAULT'0',`c`char(120)NOTNULLDEFAULT''
阅读全文
摘要:安装infobright,我使用的是rpm包,用rpm包安装不需手动新建mysql用户与组。首先下载infobright rpm包:#wgethttp://www.infobright.org/downloads/ice/infobright-3.5.2-0-x86_64-ice.rpm安装infobright rpm包,使用--prefix option指定安装目录:#rpm-ivhinfobright-3.5.2-0-x86_64-ice.rpm--prefix=/usr/local/Preparing... ########################################
阅读全文
摘要:五一的三天假期期间,ETL逻辑上出现了一些问题,导致每天需要装入DW的增量数据没有按设计装入。所以需要在ETL后对产生的增量数据进行检查,避免出现某天的增量数据出现丢失后自己被动的处理问题。需求:如当天ETL的增量数据出现问题,需要让两方面的人或程序(DBA与BI)知晓并及时处理。1. 在ODS服务器上建立如下库、表:CREATEDATABASE`imm`/*!40100DEFAULTCHARACTERSETutf8*/;--item_info记录不同项目名称与项目内的抽查表(前提:此表每天均有数据产生),以后如有新项目,只需在此表中添加记录CREATETABLE`item_info`(`id
阅读全文
摘要:在MySQL(5.5.8)与PostgreSQL(9.0)中建立相同的测试表、数据:createtabletest_gbk_char(idint,usernamevarchar(64));insertintotest_gbk_charvalues(1,'青霞'),(2,'曼玉'),(3,'楚红');上述步骤完成之后,检查两者之间的字符集及其校验规则:MySQL(在建表时我没有指定其校验规则及使用默认校验规则):+--------------------------+-----------------------------------------
阅读全文
摘要:centos5.3的python版本真让人泪奔,什么时代了还2.4的。自己动手丰衣足食。1.从官网下载2.7版本#wgethttp://www.python.org/ftp/python/2.7.1/Python-2.7.1.tar.bz22.安装# tar-jxvfPython-2.7.1.tar.bz2# cdPython-2.7.1# ./configure(如不指定--prefix,默认安装在/usr/local/lib/python2.7)# make&&makeinstall3.升级默认版本# mvpython/usr/bin/python24# ln-s/usr/
阅读全文
摘要:在使用kettle 从MySQL中ETL数据时,出现“Data truncated for column 'xxx' at row 1”的错误,根据我所碰到的情况,会有两种原因:1.源字段值超出了目标字段类型的最大值2.在转换过程中流中的数据类型与目标字段类型不一致。例如流中的字段类型是char型,而目标字段是datetime型。
阅读全文
摘要:infobright也不支持zerofill
阅读全文
摘要:一般需要将列转成行来使用,一定是原有的Schema设计没有考虑周全。但是没有办法,为了保护现有的投资,不得不在糟糕的设计上周旋,用最小的代价去实现新需求。毕竟认识都是由浅入深,为不健全的Schema设计付出代价,就像交税一样,无可避免。举例:课程表: 每门课程由5位老师教,要求包含老师的信息,以及一些课程的信息createtablecource(idint,namevarchar(100),teacher1int,teacher2int,teacher3int,teacher4int,teacher5int);insertintocourcevalues(1,concat('Cours
阅读全文
摘要:这个插件挺有用的,在我测试过程的开始阶段一直没能成功使用它,原因是因为我只定义了“用来查询的关键字”,没有定义“更新字段”。显然“更新字段”并不是我理解的可选项,它是必需的。参考:http://forums.pentaho.com/archive/index.php/t-48648.html
阅读全文
摘要:从生产环境抽取数据至仓库时,发现目标库中的汉字是乱码。我的环境是从mysql至mysql,暂时没有异构数据库,架构比较简单。解决这个问题方法是调整mysql服务器的字符集,确保如下:mysql>showvariableslike'char%';+--------------------------+--------------------------------------------------------+|Variable_name|Value|+--------------------------+---------------------------------
阅读全文
摘要:非关键业务的一对M/S从5.1升级到5.5,进入管理台后,发现无法查询数据字典,报错如下:Cannot load from mysql.proc. The table is probably corrupted解决方法非常简单,运行mysql_upgrade命令即可。此命令会在数据目录下生成一个文本文件mysql_upgrade_info,里面的内容为升级后的数据库版本。让我觉得奇怪的是升级其实有段时间了,当初将dump sql导入的时候,就已经报过这个错误并且我也已经使用mysql_upgrade升级过系统表,为啥这个问题又出现了呢? 此问题需要留意一下。
阅读全文
摘要:有时候新建的表需要对自增列指定初始值,但是有时候会出现明明指定过的初始值却被重置的现象。下面以一个小实验来说明这个问题:MySQL version:5.1.42 OS:redhat5.3无废话,建张表先:代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-...
阅读全文
摘要:对于MySQL的读写比率统计,我们一般的做法是通过统计"show global status like 'com_%' "来得到相关数值。这里有一个不错的script。用来实时查看MySQL读写比率是个不错的选择。它的项目主页是http://code.google.com/p/rw-ratio/安装与使用都很简单:用perl写的嘛,DBI、DBD之类的依赖包肯定是少不了的。这个脚本使用到三个包分别...
阅读全文
摘要:这几天遇到了RAID卡的write policy从WB自己切回WT的问题,如果"learn cycle"发生在业务高峰期,将会严重影响DB的性能。问题解决后,将自己对这些问题的理解整理一下。关于用到的MegaCli命令集我就不介绍了,网上介绍它的资料较多,国内的资料推荐老谭 和老叶的相关文章。我以问答方式阐述raid卡BBU相关问题:Q1:目前出问题的服务器的raid卡(MegaRAID SAS ...
阅读全文
浙公网安备 33010602011771号