mysql 5.7 生产环境_2020年Mysql5.7 生产环境调优

Mysql5.7 生产环境调优

随着数据的增多,作为Mysql的最后一个免费的版本5.7开始出现查询缓慢的问题。

开始我会按照explain的方式去查询sql是否进缓存等因素,良好的sql在数据库中是必要的,但是当你连select * from [table]这样的语句都能查询很久的时候,你就应该意识到,很可能并不是sql的问题,而问题最多的往往是因为mysql的默认配置。

而针对mysql的配置文件,My.cnf这个文件的优化网上有很多教程,但是都是层次不齐,很多配置即使他注释了,你也知道了这个配置的意思,却一配置上去往往连mysql的重启报错了。

# 打开配置文件 vim /etc/my.cnf

非集群的Mysql往往没有那么复杂,而网上能查到的多半是集群模式下需要配置的,这些配置极其复杂。你需要研读mysql的文档,但是基于这些历史版本的文档往往需要大量的时间。

今天碰到有个表只有1000多条数据,虽然列很多,但是1000多条数据即使是没有索引,也不可能这么慢。需要10s钟,显然我需要解决这个问题。我首先先把数据和表导到自己本地的Mysql8.0,8.0发现这个表查询连1s都不需要。

根据这个发现,我开始意识到这不是sql或者索引的问题,而是mysql本身的问题。

我打开服务器,查询Mysql的配置文件My.cnf文件,这个配置文件除了配置了端口密码等信息外,几乎没什么配置。

我配置了16g的数据服务器,给了6g的数据缓冲区,原来只有16M,显然这个量来说,对于数据库来说,是远远不够的,当我调节了这个参数后,数据查询开始加快,很多语句从原来的十几秒变成了1-2秒,如果你是用mysql的InnoDb的引擎,这个配置是必须的。

#数据缓冲区buffer pool大小,建议使用物理内存的 75% innodb_buffer_pool_size = 6G

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值