存档

2013年6月 的存档

mysql维护技巧n例

2013年6月28日 没有评论

mark下
1 通过tcpdump抓取sql语句

tcpdump -i eth0 -s 0 -l -w - dst port 3307 | strings

2 kill 慢查询

echo "show processlist" | mysql -uroot -p123| grep Sleep | awk '{ if( $6> 60 ) print ("kill", $1, ";")}' | mysql -uroot -p123

3 multi方式 启停实例

mysqld_multi --defaults-file=/mysqldata/3307/my.cnf --user=root --password=123 stop 3307
mysqld_multi --defaults-file=/mysqldata/3307/my.cnf --user=root --password=123 start 3307
在配置好配置文件启动前,需要手动创建文件目录
cd 3307
mkdir data log-bin-files log-files
cd ..
chown -R  mysql:mysql 3307/
初始化
cd /data/software/mysql/scripts/
./mysql_install_db --basedir=/data/software/mysql --datadir=/data/mysql_data/3307/data --user=mysql

4 忽略错误

#    &MysqlQuery( $this_dbh, "slave stop" );
#    &MysqlQuery( $this_dbh, "set GLOBAL SQL_SLAVE_SKIP_COUNTER=1" );
#    &MysqlQuery( $this_dbh, "slave start" );

5 分析慢查询

mysqldumpslow -s c -t 10 /data/mysql_data/3306/log-files/slow_queries.log
分类: Mysql数据库相关 标签:

nginx module OR nginx cgi

2013年6月28日 1 条评论

nginx module OR nginx cgi

分类: Nginx使用及开发 标签:

tmux利器之常用命令

2013年6月21日 没有评论

1. shell中的命令
创建一个会话
tmux new -s xiehc 或者 tmux new-session -s xiehc
退出会话直接exit就可以了

创建一个后台会话 tmux new -s backrun -d

跳转到一个会话 tmux a -t name

查看所有会话 tmux list-sessions

连接一个存在的会话 tmux attach -t xiehc

kill会话 tmux kill-session -t xiehc
阅读全文…

分类: 技术笔记 标签:

Redis 过期策略

2013年6月20日 没有评论

redis 官方提供的 conf

# MAXMEMORY POLICY: how Redis will select what to remove when maxmemory
# is reached? You can select among five behavior:
#
# volatile-lru -> remove the key with an expire set using an LRU algorithm
# allkeys-lru -> remove any key accordingly to the LRU algorithm
# volatile-random -> remove a random key with an expire set
# allkeys->random -> remove a random key, any key
# volatile-ttl -> remove the key with the nearest expire time (minor TTL)
# noeviction -> don't expire at all, just return an error on write operations
#
# Note: with all the kind of policies, Redis will return an error on write
#       operations, when there are not suitable keys for eviction.
#
#       At the date of writing this commands are: set setnx setex append
#       incr decr rpush lpush rpushx lpushx linsert lset rpoplpush sadd
#       sinter sinterstore sunion sunionstore sdiff sdiffstore zadd zincrby
#       zunionstore zinterstore hset hsetnx hmset hincrby incrby decrby
#       getset mset msetnx exec sort
#
# The default is:
#
# maxmemory-policy volatile-lru

# LRU and minimal TTL algorithms are not precise algorithms but approximated
# algorithms (in order to save memory), so you can select as well the sample
# size to check. For instance for default Redis will check three keys and
# pick the one that was used less recently, you can change the sample size
# using the following configuration directive.

阅读全文…

分类: 技术笔记 标签:

运维之道

2013年6月19日 没有评论

1 容量规划 IDC 带宽,硬件选型
2 监控报警
3 关于可用性
4 流程规划
5 性能优化 加速
6 知识管理与知识积累,技术储备
7 运维的工序流程
8 自动化运维
9 资产设备管理,成本控制
10 安全防护及ddos
11 团队人员

分类: 运维之道 标签:

Mysql 保留字

2013年6月19日 1 条评论

在列、表命名时候需要注意不要使用mysql保留字。下表所列内容有个特殊的地方,就是有几个符号是被ANSI SQL禁止的,但仍然可以被 MySQL 用于列/表名。这是由于用他们命名符合使用习惯并已经有很多人在使用了它们。可用于MYSQL列/表名的如下即可特殊单词(但是不建议使用):ACTION/BIT /DATE /ENUM /NO /TEXT /TIME /TIMESTAMP/。

MySQL的系统保留字一览表
阅读全文…

分类: Mysql数据库相关 标签:

MySQL不会用到索引的几种情况

2013年6月19日 没有评论

最近在优化业务时遇到了索引使用问题,然后稍微总结了下mysql不会用到索引的几种情况,后期遇到会继续添加。

以下测试都是在test表中进行。该表的表结构为:

CREATE TABLE `test` (
`a` int(11) NOT NULL DEFAULT ’0′,
`b` char(10) DEFAULT NULL,
`c` char(20) DEFAULT NULL,
`d` char(10) DEFAULT NULL,
PRIMARY KEY (`a`),
KEY `b_c` (`b`,`c`),
KEY `idx_d` (`d`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8

阅读全文…

分类: Mysql数据库相关 标签:

mysql 关闭慢问题

2013年6月19日 没有评论

本文是转帖,mark一下

如果用的引擎是InnoDB,每次敲下mysqladmin -uroot -p shutdown关闭数据库的时候,总是很难预测这个命令会执行多久,实际经验表明,短则五秒,长则三十分钟一小时都有可能。也分享一下我的经验吧。
1. 为什么InnoDB关闭会慢?
阅读全文…

分类: Mysql数据库相关 标签:

采用ssh加密方式进行公网mysql主从同步

2013年6月19日 没有评论

采用ssh加密方式,进行mysql主从同步

ssh -i p.pem -p 2248 -f remoteip -L localip:2345:remoteip:3306 -N

配置主从时,如下
master_host=’localip’,master_port=2345

分类: Mysql数据库相关 标签:

percona-xtrabackup全量恢复数据库一例

2013年6月19日 没有评论

目标服务器环境:
现存以multi模式启动端口为3306的实例。
所以需再恢复到以multi模式启动端口为3307的实例中。

1. 从备份机拷贝备份文件到目标服务器
scp server@/data/backup/db.tar.gz ./

2. 目标服务器需安装percona-xtrabackup-2.0.3,/data/percona-xtrabackup-2.0.3/bin/加入PATH

3. 由于备份的配置文件是multi方式,需要改成single模式。修改配置文件mycnf
注意serverid,port(port为3307),和相关路径

[mysqld3306] => [mysqld]

阅读全文…

分类: Mysql数据库相关 标签: