利用 tuning-primer.sh 工具可以实时查看当前mysql的运行情况并给出相应的设置参数。其下载地址:http://www.day32.com/MySQL/tuning-primer.sh运行后的结果为当前系统mysql的运行状态,他会给出相应的建议。
根据tuning-primer.sh的执行结果,所总结的必备参数
[client]
port = 3306
socket = /data/mysql/mysql.sock
[mysqld]
# MyISAM
# 关键词缓冲的大小, 一般用来缓冲MyISAM表的索引块.如果数据库使
#用的是MyISAM表,则建议设置为剩余内存的25-33% 。
# 不要将其设置大于你可用内存的35%, 因为一部分内存同样被OS用来
#缓冲行数据甚至在你并不使用MyISAM 表的情况下, 你也需要仍旧设置
#起8-64M 内存由于它同样会被内部临时磁盘表使用.
key_buffer_size =256MB
# table cache 单位MB
# 1G内存以下设置为 256M,1-2G内存设置为 512M 这个参数与
#max_connections 参数互相影响,当增大max_connections值时有必要
#增加table_cache的值。另外table_cache选项在mysql中 对应的变量名
#为table_open_cache。也可以在my.cnf文件中使用 table_open_cache =
#256 来代替 table_cache = 256 通过查看 show status like opend_tables
table_cache = 256
# =================开启慢查询记录功能=======================
slow_query_log = 1
# 查询超过这个阀值就记录
long-query-time = 5
# 记录慢查询的日志文件
log-slow-queries = /data/mysqldata/slowquery.log
# ===========================================================
# ========= 设置二进制日志文件的保存时间 ==========
expire_logs_days = 5 # 自动删除5天之前的binlog文件
# =================================================
log-bin = /data/ats_db/mysql-bin
log-error = /data/ats_db/error.log
pid-file = /data/ats_db/mysql.pid
# ========= 针对Innodb引擎有关的配置 ============
# 指定表数据和索引存储的空间,可以是一个或者多个文件。最后
# 一个数据文件必须是自动扩充的,也只有最后一个文件允许自动
# 扩充。这样,当空间用完后,自动扩充数据文件就会自动增长(
# 以8MB为单位)以容纳额外的数据。例如:
# innodb_data_file_path=/disk1 /ibdata1:900M;/disk2/ibdata2:50M:autoextend
# 两个数据文件放在不同的磁盘上。数据首先放在ibdata1 中,当
# 达到900M以后,数据就放在ibdata2中。一旦达到50MB,ibdata2将
# 以8MB为单位自动增长。如果磁盘满了,需要在另外的磁盘上面增
# 加一个数据文件。
innodb_data_file_path = ibdata1:100M:autoextend
# innodb的缓冲区大小,用来存放数据和索引,Innodb在线的文档表示
# 要设置为机器内存的50%-80%来做这个缓冲区!这个可以说是Innodb
# 引擎下配置选项中最关键的参数选项了,对性能的影响也是最大的。
innodb_buffer_pool_size = 1024M
# 一般16M也够了,可以适当调整下
innodb_additional_mem_pool_size = 16M
# 25 % of buffer pool size
innodb_log_file_size = 256M
innodb_log_buffer_size = 16M
# Innodb日志提交的方式,0,1,2可供取值,0表示每间隔一秒就写一
# 次日志并进行同步,减少了硬盘写操作次数,可以提高性能,1表示每
# 执行完 COMMIT就写一次日志并进行同步,默认值,2表示每执行完
#一 次COMMIT写一次日志,每间隔一秒进行一次同步,这个参数在
#Innodb 里同样是关键参数,对性能影响较大。
innodb_flush_log_at_trx_commit = 1
转载于:https://blog.51cto.com/qinyinbolan/1028320