MYSQL调优设置(专用MySql数据库服务器)

进去通过阿里云数据库健康监控发现了许多问题,特意查找资料研究了一下数据库的调优配置方案:

阿里云数据库健康监控:

1)云数据库RDS/实例列表/一键诊断 -》 空间分析

2)云数据库RDS/实例列表/日志管理 -》 慢日志明细 & 慢日志统计

3)云数据库RDS/性能中心 =》巡检评分 =》 报告 (评分报告和慢SQL)

结合自己服务器的配置情况(4核8G的mysql RDS数据库)针对以下常见参数进行了调优(my.cnf )

MYSQL调优设置(专用MySql数据库服务器常见参数分析):

============================================================

#它指定MySQL一次可以打开的最大.ibd文件数。最小值为10。

show variables like '%innodb_open_file%'; =》 3000

show variables like '%query_cache_size%'; =》 0 或 1024M

#用于普通索引扫描、范围索引扫描和不使用的联接的缓冲区的最小大小#索引,从而执行完整的表扫描。

show variables like '%join_buffer_size%'; =》 442368

#在专用数据库服务器上,您可以设置#参数高达机器物理内存大小的80%。不要设置它#不过,太大了,因为物理内存的竞争可能#导致操作系统中出现分页

show variables like '%innodb_buffer_pool_size%'; =》 6442450944 (6G)

#日志文件的大小限制为缓冲池大小的25%-100%,以避免 #日志文件覆盖时不需要的缓冲池刷新活动。然而#请注意,较大的日志文件大小将增加恢复过程。

show variables like '%innodb_log_file_size%'; =》 1572864000 (1500M)

#一个数据包或任何生成的或中间字符串的最大大小,或由#mysql_stmt_send_long_data() C API函数。 (设置太小了会影响数据导入失败)

max_allowed_packet=64M; =》 1073741824; (1G) show variables like '%innodb_log_file_size%'

其它配置参考:

[root@iZuf63p0bejzq5ocuqupstZ ~]# cat /etc/my.cnf

[mysqld]

datadir=/var/lib/mysql

socket=/var/lib/mysql/mysql.sock

user=mysql

# Disabling symbolic-links is recommended to prevent assorted security risks

symbolic-links=0

#开启慢查询日志记录

slow_query_log=on

#查询时间超过1秒的sql语句会被记录

long_query_time=0.9

#记录没有使用索引的查询

#log_queries_not_using_indexes=0

#记录慢查询日志的文件地址

slow_query_log_file=/data/slowQueryLog/slowQuery.log

query_cache_size=120M

query_cache_type=ON

max_allowed_packet=500M

#禁用local_infile选项会降低攻击者通过SQL注入漏洞器读取敏感文件的能力

local-infile=0

skip-host-cache

skip-name-resolve

[mysqld_safe]

log-error=/var/log/mysqld.log

pid-file=/var/run/mysqld/mysqld.pid

猜你喜欢

转载自blog.csdn.net/happyzhlb/article/details/129637678