my.cnf 相关参数
[client]
port = 3306 #客户端连接端口3306(可以更改)
socket = /usr/local/mysql/tmp/mysql.sock #(连接sock所在位置)
[mysqld]
datadir=/data/dbdata/ #数据库存放目录
skip-name-resolve #garnt时,必须使用ip,不能使用主机名
lower_case_table_names=1 #不区分大小写
innodb_file_per_table=1 #可以修改InnoDB为独立表空间模式,每个数据库的每个表都会生成一个数据空间
expire_logs_days = 10 #binlog日志保留10天
federated #本地MySQL数据库要访问远程MySQL数据库的表中的数据, 必须通过FEDERATED存储引擎来实现
port = 3306 # Mysql 端口默认3306 ,可以修改
socket = /usr/local/mysql/tmp/mysql.sock #Mysql 定义sock的存放位置
back_log = 50 #在MySQL的连接请求等待队列中允许存放的最大连接请求数。系统默认值为50
max_connections = 330 #最大并发连接数 ,增大该值需要相应增加允许打开的文件描述符数
max_connect_errors = 1000 #如果某个用户发起的连接error超过该数值,则该用户的下次连接将被阻塞,
table_open_cache = 2048 # Table_open_cache:表描述符缓存大小,可减少文件打开/关闭次数
max_allowed_packet = 16M #将发出“信息包过大”错误,并关闭连接,默认值16M
binlog_cache_size = 2M #限制其最大大小(当单个事务过大的时候 MySQL 会申请更多的内存)
max_heap_table_size = 64M #内存表的大小
sort_buffer_size = 8M #MyISAM表发生变化时重新排序所需的缓冲。一般64M足矣
join_buffer_size = 4M # InnoDB用来缓存数据和
thread_cache_size = 64 # 缓存可重用的线程数,可以适当的调整
thread_concurrency = 8 #这个是innodb内核的并发线程处理参数,前端有100个连接,发来1000个sql,如果这个参数被设置成2。那么这1000个sql中,最多只有2 个sql在innodb内核运行。其它都得等。(事实上,处理过程很复杂,可以先这么理解,不是所有sql都需要放在Innodb内核处理的)
query_cache_size = 128M #指定MySQL查询结果缓冲区的大小。调优可以适当调整
query_cache_limit = 2M #缓存单条SQL的结果集上限。默认4KB。调优可以适当调整
ft_min_word_len = 4 #指定被索引的关键词的最小长度。注意:在更改该参数值后,索引必须重建!注意此值设定好后。不要随意修改
default-storage-engine = innodb #默认引擎使用innodb
thread_stack = 192K #应小于可用内存保持默认
transaction_isolation = REPEATABLE-READ #设定默认的事务隔离级别
tmp_table_size = 128M # 内部(内存中)临时表的最大大小 如果一个表增长到比此值更大,将会自动转换为基于磁盘的表. 此限制是针对单个表
log-bin=mysql-bin # 打开二进制日志功能.注意此功能必须打开
binlog_format=mixed #Mysql主从复制参数,必须开启
slow_query_log #开启慢日志
long_query_time = 2 #命令耗时大于2秒的记录
server-id = 1 #主从复制唯一的服务辨识号,数值位于 1 到 2^32-1之间. 忽略此选项,MySQL不会作为master生效,越小优先级越高成为master
key_buffer_size = 8M #关键词缓冲的大小, 一般用来缓冲MyISAM表的索引块
read_buffer_size = 2M # 用来做MyISAM表全表扫描的缓冲大小.
read_rnd_buffer_size = 2M #当在排序之后,从一个已经排序好的序列中读取行时,行数据将从这个缓冲中读取来防止磁盘寻道
bulk_insert_buffer_size = 64M # 当突发插入被检测到时此缓冲将被分配用于myisam
myisam_sort_buffer_size = 128M # 这在每个线程中被分配.所以在设置大值时需要小心
myisam_max_sort_file_size = 10G # MySQL重建索引时所允许的最大临时文件的大小如果文件大小比此值更大,索引会通过键值缓冲创建(更慢)
myisam_repair_threads = 1 #如果一个表拥有超过一个索引, MyISAM 可以通过并行排序使用超过一个线程去修复他们
myisam_recover # 自动检查和修复没有适当关闭的 MyISAM 表
innodb_additional_mem_pool_size = 32M #附加的内存池被InnoDB用来保存 metadata 信息,正常保持默认
innodb_buffer_pool_size = 2G# InnoDB使用一个缓冲池来保存索引和原始数据,越大所需要的磁盘I/O 就越少,服务器物理内存大小的70%
innodb_data_file_path = ibdata1:10M:autoextend #如果你只有单个逻辑驱动保存你的数据,一个单个的自增文件就足够好了
innodb_file_io_threads = 8 # 用来同步IO操作的IO线程的数量
innodb_thread_concurrency = 16 # 在InnoDb核心内的允许线程数量 过高的值可能导致线程的互斥颠簸
innodb_flush_log_at_trx_commit = 2 # 0代表日志只大约每秒写入日志文件并且日志文件刷新到磁盘 # 2代表日志写入日志文件在每次提交后,但是日志文件只有大约每秒才会刷新到磁盘上
innodb_log_buffer_size = 16M ? # 用来缓冲日志数据的缓冲区的大小. 当此值快满时, InnoDB将必须刷新数据到磁盘上
innodb_log_file_size = 512M #在日志组中每个日志文件的大小,
innodb_log_files_in_group = 3 # 在日志组中的文件总数. 通常来说2~3是比较好的
innodb_max_dirty_pages_pct = 60 #在InnoDB缓冲池中最大允许的脏页面的比例. 60-90都可以
innodb_lock_wait_timeout = 120 #在被回滚前,一个InnoDB的事务应该等待一个锁被批准多久
[mysqldump]
quick # 不要在将内存中的整个结果写入磁盘之前缓存. 在导出非常巨大的表时需要此项
max_allowed_packet = 256M # 每个连接独立的大小.大小动态增加
[mysql]
auto-rehash #可以在命令可以使用tab键补齐
prompt=\\u@\\d \\R:\\m> #在Mysql命令显示主机名字
[myisamchk]
key_buffer_size = 512M # MyISAM 使用特殊的类似树的cache来使得突发插入
sort_buffer_size = 512M # 这在每个线程中被分配.所以在设置大值时需要小心
read_buffer = 8M # 用来做MyISAM表全表扫描的缓冲R大小. 当全表扫描需要时,在对应线程中分配
write_buffer = 8M # 用来做MyISAM表全表扫描的缓冲W大小. 当全表扫描需要时,在对应线程中分配
[mysqlhotcopy]
interactive-timeout #服务器关闭交互式连接前等待活动的秒数参数默认值:28800秒(8小时)
[mysqld_safe]
open-files-limit = 8192 #设置打开文件的句柄数量,在系统里面可以用ulimit –a 查看
�� [mysqld_safe] open-files-limit = 8192 #设置打开文件的句柄数量,在系统里面可以用ulimit –a 查看
my.cnf 相关参数
http://www.jcwit.com/article/37/