一直以来我的文章都是以工作笔记的形式存在。这对于自己读起来没什么大碍,但是对于其他读者可能就有些迷茫。我尽量改改,换种方式。
(原文链接 http://ddbiz.com/?p=166)
1. MySQL 的版本
如果要支持分区表,则应该使用 5.1.x 以上的版本。如
mysql> show variables like '%version%';
+-------------------------+------------------------------+
| Variable_name | Value |
+-------------------------+------------------------------+
| protocol_version | 10 |
| version | 5.1.45-community-log |
| version_comment | MySQL Community Server (GPL) |
| version_compile_machine | x86_64 |
| version_compile_os | unknown-linux-gnu |
+-------------------------+------------------------------+
2. MySQL 的基本参数设定
此处涉及的参数是在应用中不断更新的。如下为 /etc/my.cnf 部分内容
[mysqld]
datadir=/var/lib/mysql
datadir=/home/mysql/data
socket=/var/lib/mysql/mysql.sock
user=mysql
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
#old_passwords=1
#mysql 5.0 --log-slow-queries
#log-slow-queries=/var/log/mysql/slowquery.log
#log-queries-not-using-indexes=/var/log/mysql/noindex.log
#mysql 5.1
slow_query_log=1
slow_query_log_file=/var/log/mysql/slowquery.log
log-queries-not-using-indexes=1
#创建线程池来处理大链接量的应用
thread_cache_size=80
#加快客户端链接速度,可以屏蔽掉所有的ip反向解析
#当时注意到此问题,是因为在 show processlist 的时候,发现了大量的 user = 'unauthenticated user'链接存在。
#这是因为mysql在客户端链接时,会反向查询ip的hostname,这个过程会很慢(虽然不是多数时候),而造成该链接线程挂起,
#严重时对于大用户链接的情况就是使 Threads_created 飙升
skip-name-resolve