如何观察磁盘的IO利用率以及饱和度? 观查磁盘是不是工作达到瓶颈?
作者:吴炳锡 来源:http://www.mysqlsupport.cn/ 联系方式: wubingxi#16 […]
作者:吴炳锡 来源:http://www.mysqlsupport.cn/ 联系方式: wubingxi#gm […]
作者:吴炳锡 来源:http://www.mysqlsupport.cn/ 联系方式: wubingxi#gmail.com 转载请注明作/译者和出处,并且不能用于商业用途,违者必究.
cat /dev/urandom | LC_ALL=C tr -dc "[:alnum:]" | fold -w 10 |head -10
Si1N9kUyuZ
ddzsRXFgxA
caDRBRT4Px
buGk6LkX4d
N5Xod1TOyr
1645cBxAjl
KRjwJR2Txu
nhQedXagL9
RraDEZgfhY
QxCurm5eZF
Expression | Semantics |
---|---|
alnum
|
Matches alpha-numeric characters |
alpha
|
Matches alphabetic characters |
blank
|
Matches spaces or tabs |
cntrl
|
… |
译者:吴炳锡 来源:http://www.mysqlsupport.cn/ 联系方式: wubingxi#gmail.com 转载请注明作/译者和出处,并且不能用于商业用途,违者必究.
原文: http://www.mysqlperformanceblog.com/2013/12/07/linux-performance-tuning-tips-mysql/
因为很多MySQL的生产环境都在Linux下,我决定指出一些Linux下跑MySQL的很重要的优化点。这些是大家都知道的,也没什么新东西,但我想在这一个blog里收集整理一下Linux相关的配置优化经验。
文件系统:
ext4(or xfs) mount时使用notime选项
文件系统调度策略: 使用deadline or noop
# echo deadline >/sys/block/sda/queue/scheduler add "elevator=deadline" to grub.conf
译者推荐: XFS , 目前来看Red hat …
[获取更多]作者:吴炳锡 来源:http://www.mysqlsupport.cn/ 联系方式: wubingxi#gmail.com 转载请注明作/译者和出处,并且不能用于商业用途,违者必究.
简介:
mysqlbinlog
flashback功能是淘宝彭立勋(http://www.penglixun.com/)的一个很强劲的作品.
主要功能: 对rows格式的binlog可以进行逆向操作.delete反向生成insert,
update生成反向的update,insert反向生成delete.让dba同学们也有机会简单的恢复数据.可恢复:insert,
update,delete相关的操作.
演示一下使用过程:
生成带有flashback mysqlbinlog 工具:
项止主页:http://mysql.taobao.org/index.php/Patch_source_code#Add_flashback_feature_for_mysqlbinlog
准备好MySQL-5.5.18的源码,这里用的Percona-MySQL-5.5.18源码
cd mysql-5.5.18 … |
作者:吴炳锡 来源:http://www.mysqlsupport.cn/ 联系方式: wubingxi#gmail.com 转载请注明作/译者和出处,并且不能用于商业用途,违者必究.
在MySQL数据库连接数很多,而且大多属于活跃的状态时MySQL机器基本上负载很高,属于基本上快要死去的状态了.
这时怎么办呢?
有可能两个办法.
第一先限制Innodb的并发处理.如果innodb_thread_concurrency = 0 可以先改成 16或是64
看机器压力,如果
非常大,先改成16让机器的压力下来,然后慢慢增达,适应自已的业务.
处理方法: set global innodb_thread_concurrency=16;
第二: 对于连接数已经超过600或是更多的情况,可以考虑适当的限制一下连接数,让前端报一下错,也别让DB挂了.
…
作者:吴炳锡 来源:http://www.mysqlsupport.cn/ 联系方式: wubingxi#gmail.com 转载请注:译者和出处,并且不能用于商业用途,违者必究.
在mysqld中运行中有时偶而出有点看不出来原因的问题,想看看MySQLD中在执行什么,可以用下来的脚本查一下profiler
#PMP #http://poormansprofiler.org/ #!/bin/bash nsamples=1 sleeptime=0 pid=$(pidof mysqld) for x in $(seq 1 $nsamples) do gdb -ex "set pagination 0" -ex "thread apply all bt" -batch -p $pid sleep $sleeptime done | \ awk ' BEGIN { s = ""; } /Thread/ { print s; s = ""; } /^\#/ { if (s != "" ) { s = s "," $4} else { s = $4 } } END { print s }' | \ sort | uniq -c | sort -r -n -k 1,1 |
作者:吴炳锡 来源:http://www.mysqlsupport.cn/ 联系方式: wubingxi#gmail.com 转载请注:译者和出处,并且不能用于商业用途,违者必究.
使用perl连接mysql,这个网上有很多案例了,一般大家都是DBI下的DBD::MySQL这个模块进行.这里做一个mask弄一个TIPS:
Perl DBI MySQL的字符集为UTF8
Perl DBI 特殊字符写入时报错
Perl DBI 连接自动重连或是连接超时
1. 当MySQL的字符集是UTF8时需要引入:
use utf8; binmode(STDOUT, ':encoding(utf8)'); binmode(STDIN, ':encoding(utf8)'); binmode(STDERR, ':encoding(utf8)'); |
目的:
解决perl连接mysql到数据后读取显示结果为乱码的问题.
2.对于特殊字符的写入,最好使用: