mysql 优化

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 �Ca 查看目录的各位现在,修改/etc/security/limits.conf文件,增加或者修改一下内容。

soft nofile 65535

hard nofile 65535

如果没有必要,关闭iptablesselinux等防火墙软件

 

Mysql配置文件优化

获取mysql配置文件

Mysqld �Cverbose �Chelp |grep �CA 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表统计信息

你可能感兴趣的:(linux,防火墙,操作系统,配置文件,数据库优化)