位置:海鸟网 > IT > mySQL >

MYSQL教程:my.cnf缓存优化

  1、看机器配置,指三大件:cpu、内存、硬盘

  2、看mysql配置参数

  3、查系mysql行状态,可以用mysqlreport工具来查看

  4、查看mysql的慢查询

  依次解决了以上问题之后,再来查找程序方面的问题

  my.cnf缓存优化

  在 my.cnf 中添加/修改以下选项:

  #取消文件系统的外部锁

  skip-locking

  #不进行域名反解析,注意由此带来的权限/授权问题

  skip-name-resolve

  #索引缓存,根据内存大小而定,如果是独立的db服务器,可以设置高达80%的内存总量

  key_buffer = 512M

  #连接排队列表总数

  back_log = 200

  max_allowed_packet = 2M

  #打开表缓存总数,可以避免频繁的打开数据表产生的开销

  table_cache = 512

  #每个线程排序所需的缓冲

  sort_buffer_size = 4M

  #每个线程读取索引所需的缓冲

  read_buffer_size = 4M

  #MyISAM表发生变化时重新排序所需的缓冲

  myisam_sort_buffer_size = 64M

  #缓存可重用的线程数

  thread_cache = 128

  #查询结果缓存

  query_cache_size = 128M

  #设置超时时间,能避免长连接

  set-variable = wait_timeout=60

  #最大并发线程数,cpu数量*2

  thread_concurrency = 4

  #记录慢查询,然后对慢查询一一优化

  log-slow-queries = slow.log

  long_query_time = 1

  #关闭不需要的表类型,如果你需要,就不要加上这个

  skip-innodb

  skip-bdb