mysql 配置优化

mysql 配置优化

系列文章

参数的作用域

全局参数

 set global autocommit = ON/OFF;

会话参数(会话参数不单独设置则会采用全局参数)

set session autocommit = ON/OFF;

注意

  • 全局参数的设定对于已经存在的会话无法生效
  • 会话参数的设定随着会话销毁而失效
  • 全局类的统一配置建议配置在默认配置文件中,否则重启服务会导致配置失效

配置文件

寻找配置文件

mysql --help 寻找配置文件的位置和加载顺序

Default options are read from the following files in the given order:
/etc/my.cnf /etc/mysql/my.cnf /usr/etc/my.cnf ~/.my.cnf

使用grep可以屏蔽其他信息

mysql --help | grep -A 1 'Default options are read from the following files in the given order'

默认加载顺序

  1. /etc/my.cnf

  2. /etc/mysql/my.cnf

  3. /usr/etc/my.cnf

  4. ~/.my.cnf

全局配置文件

最大连接数

max_connections

set GLOBAL max_connections = 2000;

最大连接数还取决于以下两个配置,因为系统和mysql都有最大句柄数的限制

  1. 系统句柄数
etc/security/limits.conf

或者通过shell命令查看

ulimit -a

[外链图片转存失败(img-ubsc9yC2-1566617005234)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1566609060826.png)]

  1. mysql句柄数配置
/usr/lib/systemd/system/mysqld.service

在这里插入图片描述
如果连接数配置6000,实际上只有4190,因为mysql句柄是5000上限,而且mysql的其他服务也需要占据一些。

常见全局配置

参数
port3306
scoket/tmp/mysql.sock
basedir/usr/local/mysql
datadir/data/mysql
pid-file/data/mysql/mysql.pid
usermysql
bind-address0.0.0.0
max_connections2000
lower_case_table_names0
server-id1
tmp_table_size16M
transaction_isolationREPEATABLE-READ
ready_only1

mysql内存参数配置

connection内存参数配置

sort_buffer_size connection

排序缓冲区大小

建议256k(默认)->2M之间

当查询语句中有需要文件排序功能时,马上为connection分配配置的内存大小

join_buffer_size connection

关联查询缓冲区大小

建议256k(默认)->1M之间

当查询语句中有关联查询时,马上分配配置大小的内存用这个关联查询,所以有可能在一个查询语句中会配置很多个关联查询缓存区

上述配置4000连接占用内存

4000*(0.256M+0.256M) = 2G

Innodb_buffer_pool_size

innodb_buffer/cache的大小(默认128M)

上一篇mysql MVCC Undo Redo讲Undo Log 中mysql的buffer/cache缓冲区的大小

  • Innodb_buffer_pool
    • 数据缓存
    • 索引缓存
    • 缓冲数据
    • 内部结构

大的缓存池可以减小多次磁盘I/O访问相同的表数据以提交性能

参考计算公式

Innodb_buffer_pool_size = (总物理内存-系统运行所用 - connection所用)*90%

全部参数可以在官网中进行检索

参考

  1. 腾讯课堂-咕泡学院-seven老师-mysql性能优化
  2. mysql官网
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值