千家信息网

MySQL性能调优

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,1 Mysql工作原理1.1 mysql体系结构:连接池sql接口分析器优化器查询缓存存储引擎文件系统管理工具1.2 永久定义:修改配置文件/etc/my.cnf[mysql]变量名=值1.3 临时定
千家信息网最后更新 2026年11月01日MySQL性能调优

1 Mysql工作原理

1.1 mysql体系结构:

连接池

sql接口

分析器

优化器

查询缓存

存储引擎

文件系统

管理工具

1.2 永久定义:

修改配置文件/etc/my.cnf

[mysql]

变量名=值

1.3 临时定义:

mysql>set (global) 变量=


2 性能调优

2.1 访问数据时,出结果特别慢。分析可能是由哪些原因导致的?

(1)硬件配置低:查看应用设备的使用率CPU 内存 存储(硬盘)

利用top,sar,uptime,free等;

(2)网络带宽: 使用网络测速软件 网速;

(3)提供数据库服务软件版本低:

2.2 并发及连接控制

mysql> show variables like "max_connections"; #允许的最大并发连接数

mysql> show variables like "connect_timeout"; #建立连接时,三次握手的超时时间

mysql> show variables like "wait_timeout"; #建立连接后,等待断开连接的超时时间

查看当前已使用的连接数:

mysql>show global status like "max_used_connections";

查看默认的最大连接数:

mysql> show variables like "max_connections";

理想比率:已使用的连接数/连接并发量<=85%

2.3 缓存参数控制

key_buffer_size #用于myisam引擎的关键索引缓存大小

sort_buffer_size #为每个要排序的线程分配此大小的缓存空间

read_buffer_size #为顺序读取表记录保留的缓存大小

read_rnd_buffer_size #为排序结果读取表记录保留的缓存大小

允许重复使用的线程的数量

mysql> show variables like "thread_cache_size";

为所有线程缓存打开表的数量。

table_open_cache=2000

mysql> show variables like "table_open_cache";

查询缓存相关参数设置?

MySQL> show variables like "query_cache%";

查询缓存写锁有效 存储引擎(MYISAM)

query_cache_wlock_invalidate | OFF

query_cache_type 0|1|2

0 关闭 不存储

1 开启 无条件存储

2 开启 指定存储才存储

查询缓存统计信息?

MySQL> show global status like "qcache%";

Qcache_hits 0 #查询缓存成功的次数(就是在缓存中找到查询的结果)

Qcache_inserts 0 #总的

Qcache_lowmem_prunes 0 #每次缓存达到一定数值,重新清空的次数,清空的次数越大代表缓存的使用不合理(总是被用完)

2.4 Mysql日志类型

(1)错误日志:记录数据库服务在启动和运行过程中产生的信息,默认启用

/etc/my.cnf中的log-error=/var/log/mysqld.log

(2)binlog日志:默认没有启用。

(3)查询日志:记录所有执行过的SQL命令,默认没有启用

vim /etc/my.cnf

[mysqld]

general-log #默认存储位置 /var/lib/mysql

默认名称:主机名.log

(4)慢查询日志:记录超过指定时间显示查询结果的SQL命令。默认超时时间10s。

slow-query-log #启用慢查询日志

slow-query-log-file=文件名 #指定日志名称

long-query-time=数字 #指定超时时间

默认存储位置 /var/lib/mysql

默认名称:主机名-slow.log

[root@ser54 ~]# mysqldumpslow /var/lib/mysql/主机名-slow.log >sql.txt

#查看慢查询日志,并把查询超时的查询语句保存下来

log-queries-not-using-indexes #记录未使用索引的查询


缓存 查询 存储 日志 时间 大小 结果 主机 名称 引擎 数据 文件 次数 线程 最大 位置 信息 参数 变量 命令 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 广州大一互联网络科技有限公司 网络科技有限互联网 互联网科技的发展 卓越科技(互联网 ) 互联网科技有限公司 翻译 甘肃拓世互联网科技有限公司 成都仁贤领冠互联网科技有限公司 湖南洣水互联网科技有限公司扣款 广州慧亚互联网科技怎么样 宝灵互联网科技有限公司 语蝶互联网科技有限公司 赶超互联网科技 微信多开 互联网与医疗科技 杭州披云加互联网科技有限公司 城市宝互联网科技有限公司 四川互联网展示科技馆设计 互联网科技融合创新 卡尔迅互联网科技有限公司 互联网风格科技公司名称 35岁以上互联网科技行业 科技互联网政务服务 北京互联网科技 成都互联网科技公司 须眉科技是互联网公司吗 互联网校园科技培训 岳阳华臻互联网科技有限公司 玉溪互联网科技怎么选 河南住房之家互联网科技 深圳艾果互联网通讯科技 互联网 科技节活动 微视频大赛
0