mysql 优化
2015-12-17 10:45
489 查看
Mysql 数据库优化配置
操作系统配置优化
数据库是基于操作系统的,由于mysql安装在linux上,所以对于操作系统的一些参数配置也会影响到mysql性能
网络方面配置,修改/etc/sysctl.conf文件
#增加tcp支持的队列数
net.ipv4.tcp_max_syn_backlog = 65535
#减少断开连接时,资源回收
net.ipv4.tcp_max_tw_buckets = 8000
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle =1
net.ipv4.tcp_fin_timeout = 10
打开文件数限制,可以使用 ulimit –a 查看目录的各位现在,修改/etc/security/limits.conf文件,增加或者修改一下内容。
soft nofile 65535
hard nofile 65535
如果没有必要,关闭iptables,selinux等防火墙软件
Mysql配置文件优化
获取mysql配置文件
Mysqld –verbose –help |grep –A 1 ‘Default option’
如果存在多个配置文件,后面会覆盖前面的
Innodb_buffer_pool_size = 300M
#############################################
innodb 缓存池,一般配置为总内存的75%
获取数据库中数据大小
select ENGINE,
ROUND(sum(data_length + index_length)/1024/1024,1) as "total mb"
from information_schema.TABLES where table_schema not in ("information_schema","performance_schema")
group by engine;
innodb_buffer_pool_size >=Totabl MB
################################################
Innodb_buffer_pool_instances = 4
#缓冲池个数,默认是1,可以设置成4或者8
innodb_log_buffer_size = 16M
#innodb 日志缓存大小,不用设置太大
innodb_flush_log_at_trx_commit = 2
# 对innodb IO影响很大,建议设置成2,如果需要数据安全性较高,可以设置成默认值1
Innodb_read_io_threads = 8
Innodb_write_io_threads = 8
#innodb IO进程数,根据cpu核数确定
Innodb_file_per_table = 2
#每一个表使用一个表空间
Innodb_stats_on_metadata = OFF
#决定了在什么情况下刷新innodb表统计信息
操作系统配置优化
数据库是基于操作系统的,由于mysql安装在linux上,所以对于操作系统的一些参数配置也会影响到mysql性能
网络方面配置,修改/etc/sysctl.conf文件
#增加tcp支持的队列数
net.ipv4.tcp_max_syn_backlog = 65535
#减少断开连接时,资源回收
net.ipv4.tcp_max_tw_buckets = 8000
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle =1
net.ipv4.tcp_fin_timeout = 10
打开文件数限制,可以使用 ulimit –a 查看目录的各位现在,修改/etc/security/limits.conf文件,增加或者修改一下内容。
soft nofile 65535
hard nofile 65535
如果没有必要,关闭iptables,selinux等防火墙软件
Mysql配置文件优化
获取mysql配置文件
Mysqld –verbose –help |grep –A 1 ‘Default option’
如果存在多个配置文件,后面会覆盖前面的
Innodb_buffer_pool_size = 300M
#############################################
innodb 缓存池,一般配置为总内存的75%
获取数据库中数据大小
select ENGINE,
ROUND(sum(data_length + index_length)/1024/1024,1) as "total mb"
from information_schema.TABLES where table_schema not in ("information_schema","performance_schema")
group by engine;
innodb_buffer_pool_size >=Totabl MB
################################################
Innodb_buffer_pool_instances = 4
#缓冲池个数,默认是1,可以设置成4或者8
innodb_log_buffer_size = 16M
#innodb 日志缓存大小,不用设置太大
innodb_flush_log_at_trx_commit = 2
# 对innodb IO影响很大,建议设置成2,如果需要数据安全性较高,可以设置成默认值1
Innodb_read_io_threads = 8
Innodb_write_io_threads = 8
#innodb IO进程数,根据cpu核数确定
Innodb_file_per_table = 2
#每一个表使用一个表空间
Innodb_stats_on_metadata = OFF
#决定了在什么情况下刷新innodb表统计信息
相关文章推荐
- 修改MySQL字符集
- Mysql中文乱码问题完美解决方案【需要在my.cnf文件中设置client和mysqld的default-character-set=utf8,建数据库和表的时候也需要制定好编码】
- 详解mysql int类型的长度值问题
- MySQL基础安全注意细节
- MySQL性能分析
- mysql命令大全
- MySQL的子查询中FROM和EXISTS子句的使用教程
- MySQL 中随机抽样:order by rand limit 的替代方案
- mysql基础
- Navicat For MySQL
- MySQL的启动程序
- MySQL 如何在线备份历史表
- MySQL 修改字段类型或长度
- Mysql 使用ibd数据文件进行数据恢复 (以及数据移动) 1067的解决办法
- [ERROR] Fatal error: Please read "Security" section of the manual to find out how to run mysqld as root!
- Windows下mysql忘记密码的解决方法
- mysql左外连接,右外连接,全连接
- MySQL和SQL入门(1-5)
- mysql 建立用户
- Mysql自联结深入剖析