博客首页
注册
建议与交流
排行榜
加入友情链接
推荐
投诉
搜索:
帮助
大欢乐网 MySQL
交流分享MySQL知识,共同推进MySQL的应用;愿IT业的朋友们 身体健康,家庭和睦,工作快乐,所愿成满,常有大欢乐 OM MANI PADME HUM!
gladness.cublog.cn
管理博客
发表文章
留言
收藏夹
博客圈
音乐
相册
· 南山
文章
· Linux
· MySQL
· 杂记
· oracle
· Solaris
· SQL Server
首页
关于作者
姓名: 职业:DBA 年龄: 位置: 个性介绍:
||
<<
>>
||
我的分类
最新文章
·
slow_log表统计慢查询数量..
·
mysql slave Incorrect s..
·
rsync限速功能简单使用
·
使用top抓取活跃进程小技巧
·
复杂SQL的启示
·
Failed to open the rela..
·
Incorrect information i..
·
使用vi时screen: Unknown..
·
solaris10下的tar及gzip打包
·
waiting in InnoDB queue
·
dbd::mysql与test_multi_..
·
得到逗号分隔的列名
·
expdp hang with nfs
·
大量unauthenticated user
·
load data infile
·
You have an error in yo..
·
ERROR 1005: Can't creat..
·
如何方便地看mysql屏幕输出
·
mysql5.1.20的log_slow_q..
·
mylvmbackup----结合lvm的..
·
innodb表的修复
·
Event Scheduler: Failed..
·
jdbc mysql5.1 latin1
·
拓展很开心
·
又开始上班了
·
哈利波特
·
余秋雨对陈晓旭出家的评论..
·
宏伟计划
·
未雨绸缪
·
在mysql中使用动态SQL
·
MySQL群友小聚
·
超级强悍的MySQL show pr..
·
无法分配 8704 字节的共享..
·
在ubuntu6.10上安装oracl..
·
Xlib: connection to ":0..
·
命令行不能用tab补齐
·
HOWTO X-forwarding(本地..
·
在ubuntu上使用pptp客户端..
·
IT从业者健康状况令人担忧
·
博物馆奇妙夜
·
MySQL数据移植中的乱码问题
·
注意key_buffer_size不能..
·
站好节前最后一班岗!
·
MySQL table_cache的负作用
·
sysbench --mysql-table-..
·
MySQL5.0与RAID卡的缓存
·
使用LVM(逻辑卷管理)对..
·
ubuntu本本慢死
·
Driver requires declara..
·
在SQL中使用now()导致的性..
最新留言
·
本站网友
7857
·
gladness
是你运行的SQL有问题吧,语..
·
本站网友
2007-10-06 00:49:08 : Lo..
·
本站网友
新手上路多关照
·
gladness
我哪会呀,我只会左野马分..
最新评论
·
应该可以在WIN下编译的。
·
只要是应用那边jdbc连接串..
·
如何重现?
·
太阳城代理
太阳城开户..
·
简明扼要,不错,学习中~~
最新收藏
·
MySQL AB Blog
·
mysql性能blog
·
爱mysql
·
hackmysql
·
本站域名mysqler.com
·
本站域名mysqler.cn
·
轻松妈妈择校网
·
中国学校庆典网
统计信息
·
总访问量:231696
·
文章个数:103
·
评论条数:55
·
留言条数:9
·
网友推荐:
slow_log表统计慢查询数量时间分布
mysql> select count(*),addtime( date_format(start_time,'%Y-%m-%d %H:00:00') ,concat('00:',floor(minute(start_time)/10)*10,':00') ) ten_minutes_period from slow_log where start_time between '2010-03-17 21:00:00' and '2010-03-17 22:00:00' group by ten_minutes_period;<br>+----------+---------------------+<br>| count(*) | ten_minutes_period |<br>+----------+---------------------+<br>| 1817 | 2010-03-17 21:10:00 |<br>| 539 | 2010-03-17 21:20:00 |<br>| 745 | 2010-03-17 21:40:00 |<br>+----------+---------------------+<br>3 rows in set (6.48 sec)<br><br>统计每10分钟区间发生的慢查询数量。可以看到上面的压力是波动性的,不是均匀的。需要和应用同学沟通一下。<br>
查看全文
发表于:2010-03-18 ┆
阅读(13)
┆
评论(0)
mysql slave Incorrect string value
一台重要库的slave的sql_thread停止了。<br><br>Last_Errno: 1366<br> Last_Error: Error 'Incorrect string value: '\xCE\xD2\xB6\xD4\xD5\xE2...' for column 'title' at row 1' on query. Default database: 'mail_app'. Query: 'insert into vote_topic(id,userid,title,category) values (21,0x746573743130407669702E736F68752E636F6D,0xCED2B6D4D5E2B8F6B9A6C4DCB5C4D0E8C7F3B3CCB6C8,11)'<br><br>这个slave可是相当关键,不能置后,看了一下出问题的表记录数很少,并且从中文内容上看起来像是还在测试,先把出问题的sql跳过再说。<br><br>日志里记录了两个表出了同步错误。都是utf8的表。<br><br>这两个表的数据在master和slave上不一致了,master要多几条。<br><br>错误是可重现的,把未同步过去的数据删除,让应用再执行同样操作,sql_thread立刻停止。<br><br>应用jdbc连接串里有characterEncoding=gbk,改成utf8就好了。问题解决了,但原因不明。master和slave为何有不同的结果,字符集的设置是一样的,表结构和表的字符集也是一样的。<br……
查看全文
发表于:2010-01-19 ┆
阅读(144)
┆
评论(2)
rsync限速功能简单使用
有时候需要使用类似cp的命令来备份数据,但可能会对IO造成很大压力,因此需要限速。但是cp、tar之类的没有类似功能。还好rsync有限速功能,并且rsync可以直接像cp一样使用,并不一定需要客户端/服务器模式。<br><br>/usr/bin/rsync -a --bwlimit=5000 ${DataDir}/ $targetdir<br>这就是直接代替cp的限速方法<br>
查看全文
发表于:2010-01-14 ┆
阅读(304)
┆
评论(0)
使用top抓取活跃进程小技巧
export COLUMNS=500;top -b -c -n 4|grep -v grep|grep -i -A 20 load\ average > logfile<br><br>logfile部分内容<br><br>top - 10:50:49 up 302 days, 22:44, 1 user, load average: 1.18, 0.96, 0.94<br>Tasks: 140 total, 1 running, 139 sleeping, 0 stopped, 0 zombie<br>Cpu(s): 0.3%us, 0.2%sy, 0.0%ni, 90.3%id, 9.2%wa, 0.0%hi, 0.0%si, 0.0%st<br>Mem: 16432184k total, 16347808k used, 84376k free, 151828k buffers<br>Swap: 8385920k total, 284k used, 8385636k free, 6119376k cached<br><br> PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND<br><br>10340 mysql 15 0 9633m 9.0g 6840 S 3.7 57.6 12148:58 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/opt/mysqldata --user=mysql --pid-fil……
查看全文
发表于:2010-01-14 ┆
阅读(108)
┆
评论(0)
复杂SQL的启示
好久好久没有更新了,今天突然想更新点内容。密码还记得,登录进来了。<br><br>起因是今天又发现一个巨大复杂的SQL,也立刻有了抱怨。<br><br>但其后与开发同学的交流中,得到有益的启示。<br><br>他对这个的评价是“逻辑思维能力太强”。<br><br>这是一个不容易发现的角度,能写出复杂的SQL,的确需要相当的逻辑思维能力的。<br><br>DBA和开发同学的视角往往是有差异的,抱怨也是可以理解的,但没有发现任何有价值和建设性的办法。<br><br>可能应该以一种称赞的态度来交流复杂SQL的问题,说明不是SQL有问题,而是自己看不懂,无法开展优化工作。<br><br>愉悦而有益的心态。是受了开发同学的启发。<br>
查看全文
发表于:2009-09-18 ┆
阅读(457)
┆
评论(1)
Failed to open the relay log
071211 10:07:06 [ERROR] Failed to open the relay log <br><br>是修改relay-log参数造成的,打算把relay log和数据文件分在不同的盘上。<br><br>relay-log.info中记录了当前relay log的位置,因此也需要修改。<br><br>还有relay log的index文件,比如.....-relay-bin.index,其中也有relay log位置,根据需要做修改。<br><br>如果在my.cnf中relay-log指定了全路径,那么或者把上述relay-bin.index文件也移到与relay log同一个目录下,或者在my.cnf中relay-log-index指定全路径名。否则会报:<br>Failed to open the relay log <br>Could not find target log during relay log initialization<br>Failed to initialize the master info structure<br><br><br>
查看全文
发表于:2007-12-11 ┆
阅读(1791)
┆
评论(0)
Incorrect information in file xxxx.frm
这个错误并不一定表示这个表的数据或者文件损坏了。<br><br>如果是innodb表的话,查看一下<br><br>show variables like 'hav%';<br><br>看看have_innodb是不是YES,如果变成NO了,到错误日志里去找原因。<br><br>比如我发现:<br><br>InnoDB: Error: log file ./ib_logfile0 is of different size 0 209715200 bytes<br><br>是我的my.cnf中innodb_log_file_size的值与当前实际的文件大小不一致,结果innodb引擎就被skip了,导致上述错误。<br><br>Incorrect information in file xxxx.frm这个错误多少有些不友好,害得我又重新复制一偏测试数据,又得好几个小时。<br>
查看全文
发表于:2007-12-07 ┆
阅读(1618)
┆
评论(0)
使用vi时screen: Unknown terminal type
screen: Unknown terminal type<br>I don't know what kind of terminal you are on - all I have is 'screen'.<br>[Using open mode]<br><br>在linux上跑screen,登录到solaris上,使用vi,就报上面的错误。<br><br>搜了一下<br><br>-bash-3.00$ echo $TERM <br>screen<br>-bash-3.00$ export TERM=vt100<br><br>这样就没问题了。<br>
查看全文
发表于:2007-11-02 ┆
阅读(1572)
┆
评论(0)
solaris10下的tar及gzip打包
Solaris下的tar没有和gzip结合起来,不像Linux的tar有z命令。如果希望tar的同时也能压缩或者解压可以这样写:<br><br>打包压缩<br>tar cvf - testfile | gzip > testfile.tar.gz<br><br>解包<br>gunzip -c testfile.tar.gz | tar xvf -<br><br>
查看全文
发表于:2007-10-31 ┆
阅读(1471)
┆
评论(0)
waiting in InnoDB queue
<code class="literal">有的应用的查询非常慢,手工访问某库的表也非常慢。看了一个最慢的SQL,访问的都是innodb的表。<br><br>从innodb status中看到有一些线程waiting in InnoDB queue,有的明明是select语句也在等待。<br><br>搜了一下,估计是下面这个参数的问题<br><br>innodb_thread_concurrency</code> <p> <code class="literal">InnoDB</code> tries to keep the number of operating system threads concurrently inside <code class="literal">InnoDB</code> less than or equal to the limit given by this variable. Once the number of threads reaches this limit, additional threads are placed into a wait state within a FIFO queue for execution. Threads waiting for locks are not counted in the number of concurrently executing threads. </p> <p> The correct value for this variable is dependent on environment and workload. You will need to try a range of different values to deter……
查看全文
发表于:2007-10-17 ┆
阅读(1150)
┆
评论(0)
dbd::mysql与test_multi_sets()
slave有冲突,一个存储过程test_multi_sets(),创建时报已经存在了。结果slave的sql thread就停了。解决冲突之后,找不到是谁建的这个存储过程。最终发现是dbd::mysql安装时偷偷建的,在test库下建了这个存储过程。<br>今天装innotop来着,需要dbd::mysql,在主从都装了,结果就出这问题了。<br>看dbd::mysql的安装包里找到<br> Test($state or $dbh->do("drop procedure if exists test_multi_sets")) or<br> DbiError($dbh->err, $dbh->errstr);<br>好像是在make test时用到的。感觉有些稍欠严谨,至少建完了应该负责删除才好。小动作害得slave发生冲突。<br>
查看全文
发表于:2007-09-21 ┆
阅读(1308)
┆
评论(0)
得到逗号分隔的列名
mysql -s --skip-column-names -e 'desc mysql.db' | awk '{print $1","}' | tr -d '\n'<br><br>Host, Db, User, Select_priv, Insert_priv, Update_priv, Delete_priv, Create_priv, Drop_priv, Grant_priv, References_priv, Index_priv, Alter_priv, Create_tmp_table_priv, Lock_tables_priv, Create_view_priv, Show_view_priv, Create_routine_priv, Alter_routine_priv, Execute_priv, Event_priv, Trigger_priv,<br>
查看全文
发表于:2007-09-12 ┆
阅读(1385)
┆
评论(1)
expdp hang with nfs
expdp 到nfs时,总是hang住。并且在操作系统一级也杀不掉那些data pump进程,连shutdown abort也会不起作用。<br><br>目前的结论<br>如果nfs使用了lock参数,很可能是某些进程锁住了nfs。<br>这次就是杀掉portmap进程后那些以前hang住的data pump进程都释放了。<br>再把nfs重新mount,expdp就正常了。<br>
查看全文
发表于:2007-09-05 ┆
阅读(1339)
┆
评论(0)
大量unauthenticated user
今天mysql连接数经常被占满,并且show processlist出现大量unauthenticated user。google了一下,需要使用<code class="option">--skip-name-resolve启动mysql。由于现在不能重启,有的文章写到要在/etc/hosts中加上客户端的IP。加了以后,似乎就起作用了。看来确实是反解析的问题。<br><br>写了一个看不同IP来的连接数的脚本<br><br>mysql -s -e 'show processlist'| sed -e 's/unauthenticated user/unauthenticated_user/'| awk '{print $3}' | sed -e 's/:.*$//' | sort |uniq -c<br></code>
查看全文
发表于:2007-08-30 ┆
阅读(1701)
┆
评论(1)
load data infile
mysql> show create table ttt\G<br>*************************** 1. row ***************************<br> Table: ttt<br>Create Table: CREATE TABLE `ttt` (<br> `c1` bigint(20) DEFAULT NULL,<br> `c2` bigint(20) DEFAULT NULL,<br> `c3` bigint(20) DEFAULT NULL,<br> `c4` bigint(20) DEFAULT NULL<br>) ENGINE=MyISAM DEFAULT CHARSET=gbk<br>1 row in set (0.00 sec)<br><br>mysql> exit<br>Bye<br>[@mapstdby.no.sohu.com ~]# cat datafile<br>111111111111111 2222222222222222 333333333333333 11111111111<br>111111111111111 2222222222222222 333333333333333 11111111111<br>111111111111111 2222222222222222 333333333333333 11111111111<br>111111111111111 2222222222222222 333333333333333 11111111111<br>111111111111111 2222222222222222 333333333333……
查看全文
发表于:2007-08-08 ┆
阅读(2487)
┆
评论(1)
You have an error in your SQL syntax
mysqldump出来的文件,再导回去,就报You have an error in your SQL syntax错误。原因是,有一个字段的名字是TABLE,用``把它括起来就解决了。
查看全文
发表于:2007-08-06 ┆
阅读(10705)
┆
评论(8)
ERROR 1005: Can't create table (errno: 150)
mysql4.0.20,导出表结构,再重新导入,就报ERROR 1005: Can't create table (errno: 150)错误。<br>修改导出的sql文件,在最前面加上set foreign_key_checks=0;<br>这个错误就解决了,看来是建外键的原因。被关联的表还没有创建,导致外键建不起来。<br>
查看全文
发表于:2007-08-06 ┆
阅读(3664)
┆
评论(0)
如何方便地看mysql屏幕输出
在Linux或者Unix环境下的mysql命令行客户端中,使用<br>pager more;<br>或者<br>pager less;<br>可以解决输出行数超过一屏而不方便看的问题。<br>由此想到less的-S参数,使用<br>pager less -S;<br>效果更棒,解决了输出过宽而换行的问题。用左右箭头可以左右移动屏幕。<br>
查看全文
发表于:2007-08-06 ┆
阅读(1671)
┆
评论(2)
mysql5.1.20的log_slow_queries
mysql5.1较新版本在记录slow queries log方面有些变化。要想取得与以前相同效果的慢查询日志,可以类似如下设置my.cnf:<br>[mysqld]<br>log_slow_queries=slow_queries 这个与以前作用基本相同,并且还是需要重启才能生效<br>slow_query_log 这是一个可以在运行时改变的全局变量,表示是否打开慢查询日志,在此处加上即表示ON<br>long_query_time=5 这个作用与以前同<br>log_output=FILE 这是指定日志输出到文件,还可指定输出到表,或者二者都有,或者不输出。可在运行时修改<br><br>因此新上线的库别忘了一开始就把log_slow_queries设好,这样以后就不用因此而重启库了。并且slow_query_log可以根据需要打开或者关闭。<br>
查看全文
发表于:2007-08-02 ┆
阅读(2079)
┆
评论(0)
mylvmbackup----结合lvm的mysql备份脚本
<DIV>mylvmbackup是一个用perl写的mysql备份脚本。利用lvm的snapshot,可以做几乎是在线热备。</DIV> <DIV> </DIV> <DIV>除了安装相关的perl模块以外,需要配置/etc/mylvmbackup.conf,其中有几项要特别举例说明一下:</DIV> <DIV> </DIV> <DIV>[lvm]<BR>vgname=vg_data volumn group的名字<BR>lvname=lv_data 逻辑卷的名字<BR>lvsize=20G 备份时创建的snapshot的大小</DIV> <DIV> </DIV> <DIV>[fs]<BR>mountdir=/opt/snap_mnt snapshot的mount位置<BR>backupdir=/backup 备份打包后的存放位置<BR>relpath=mysqldata 如果只是想备份逻辑卷下的某个目录的话,则要指出来</DIV> <DIV> </DIV> <DIV>[tools] 相关执行程序的位置,如果不正确会报错<BR>lvcreate=/usr/sbin/lvcreate<BR>lvremove=/usr/sbin/lvremove<BR>mount=/bin/mount<BR>tar=/bin/tar<BR>umount=/bin/umount</DIV> <DIV> </DIV> <DIV>[misc]<BR>prefix=backup&nb……
查看全文
发表于:2007-08-01 ┆
阅读(1421)
┆
评论(0)
innodb表的修复
<DIV>innodb表损坏,可能导致mysqld不断地crash。在用户访问到有问题数据的位置就可能导致crash。而mysql目前没有修复innodb表的工具,只能用innodb_force_recovery=1,避免在导出数据时再crash。在my.cnf中设置好后重启库,再用mysqldump或者select *把出问题的表导出来。然后重新导入(删除原表)。如果数据量大的话,就得慢慢等了。</DIV>
查看全文
发表于:2007-08-01 ┆
阅读(2868)
┆
评论(0)
Event Scheduler: Failed to open table mysql.event
这很可能是mysql的一个bug,在my.cnf中设置了read_only,就会触发这个错误,导致mysqld启不来。<br>版本是5.1.20beta<br>平台是AS4的64位<br>
查看全文
发表于:2007-08-01 ┆
阅读(1547)
┆
评论(0)
jdbc mysql5.1 latin1
jdbc与mysql5.1配合使用,如果有中文的话,千万别用latin1了。gbk和utf8都是没问题,但latin1始终搞不定了。<br>如果是数据库版本升级,特别是从使用latin1的mysql升级到5.1,并且又要用java的话,一定要记得转换字符集。比如转换成gbk或者utf8。<br>如果有谁jdbc能够正确访问mysql5.1的latin1的表,一定要记得告诉我。<br>
查看全文
发表于:2007-07-26 ┆
阅读(1697)
┆
评论(0)
拓展很开心
<DIV>好久没发文章了。这一阵一直在学习,MySQL一直没怎么碰了,所以也写不出啥。</DIV> <DIV> </DIV> <DIV>昨天去参加拓展,玩得很开心也颇有收获,熟悉了很多新朋友。虽然挺累,但是开心。</DIV>
查看全文
发表于:2007-04-29 ┆
阅读(1628)
┆
评论(0)
又开始上班了
今天入职,办了手续,领了机器。明天就要开始正常工作了。环境挺不错的,同事也很友善,是个不错的开始。
查看全文
发表于:2007-03-28 ┆
阅读(1805)
┆
评论(0)
哈利波特
又是沾丫头的光,最近对哈利波特有了些了解。看了看书、DVD,真是不错的故事。<br><br>构思巧妙、有趣,没有什么暴力、色情,既适合孩子也适合大人。<br><br>哈利并不是一个最擅长魔法和最足智多谋的人,但有一颗善良的心,总是担负起救人于水火的责任。并有过人的勇气,为了他人的安危,甚至准备牺牲自己的生命。每当这样的情景出现的时候,总让我格外钦佩哈利。并且不论是小说本身还是电影,都没有美国大片中突出的个人英雄主义的色彩,让人觉得不矫揉造作。<br><br>不论是小说还是电影都相当经典。<br>
查看全文
发表于:2007-03-25 ┆
阅读(1686)
┆
评论(0)
余秋雨对陈晓旭出家的评论(转载)
<font face="Courier New">问:女演员陈晓旭出家进入佛门,引起了持续的讨论,三分之一的意见是为她婉惜,三分之二的意见是对她贬责,说她可能生了病,家里出了事,或者是哗众取宠的操作。您怎么看?<br> <br> 答:这是在一个缺少信仰的时代,一群不知信仰为何物的人在评论一个开始选择了信仰的人。没有信仰的人显得那么高人一等,议论风生,其实倒是真正的可怜人。<br> <br> 我在台湾的佛光山、慈济功德会、法鼓山等佛教胜地,看到很多早已取得美国博士学位的年轻女子,接受剃度,欢天喜地地在那里工作,又以自己皎然无私的高 贵心境感染苦恼的众生。当然,这样做的男性青年就更多了。全世界任何地方发生巨大自然灾害,第一批到达的救助者总是他们。连我们这里多次急需的骨髓捐赠, 都是由他们完成的。总之,这是我们这里的议论者们完全陌生的天地,却还偏要议论。<br> <br> 这使我想起小时候在农村,远处办了一所小学,村中老妇对于男孩子不干农活去上学已经不太理解,对于女孩子去上学,便断言是到一个“男女杂处”的腌臜去处,也是七分贬责、三分婉惜。原因只在于,她们完全不知道学校是什么,教育是什么,他们议论的基础是无知。<br> <br> ……
查看全文
发表于:2007-03-25 ┆
阅读(1676)
┆
评论(1)
宏伟计划
一周的魔鬼训练,恢复体力。<br>把释谈章学下来。<br>把。。。。背下来。<br><br>然后迎接工作。<br>
查看全文
发表于:2007-03-16 ┆
阅读(1773)
┆
评论(0)
未雨绸缪
“诗经”中有一篇标题为“鴟鴞”的诗,描写一只失去了自己小孩的母鸟,仍然在辛勤的筑巢,其中有几句诗:“迨天之未阴雨,徹彼桑土,绸缪牖户。今此下民,或敢侮予!”意思是说:趁着天还没有下雨的时候,赶快用桑根的皮把鸟巢的空隙缠紧,只有把巢坚固了,才不怕人的侵害。<br><br>后来,大家把这几句诗引伸为“未雨绸缪”,意思是说做任何事情都应该事先准备,以免临时手忙脚乱。
查看全文
发表于:2007-03-16 ┆
阅读(1779)
┆
评论(0)
在mysql中使用动态SQL
mysql> set @sql_text:='select count(*) from test';<br>Query OK, 0 rows affected (0.00 sec)<br><br>mysql> prepare stmt from @sql_text;<br>Query OK, 0 rows affected (0.04 sec)<br>Statement prepared<br><br>mysql> execute stmt;<br>+----------+<br>| count(*) |<br>+----------+<br>| 0 | <br>+----------+<br>1 row in set (0.19 sec)<br><br>mysql> deallocate prepare stmt;<br>Query OK, 0 rows affected (0.00 sec)<br><br><br>在存储过程中改变@sql_text的值,则可以实现动态SQL的效果了。<br>但要注意,能够使用prepare的SQL是有限制的:<br> The following SQL statements can be used in prepared statements: <code class="literal">CREATE TABLE</code>, <code class="literal">DELETE</code>, <code class="literal">DO</code>, <code class="literal">INSERT</code>, <code class="literal">REPLACE</code>, <code class="literal">SELECT</code>, <code class="literal">SET</code>, <code class="literal">UPDATE</code>, and most <code clas……
查看全文
发表于:2007-03-14 ┆
阅读(2706)
┆
评论(0)
版权所有 ChinaUnix.net 页面生成时间:0.03569