三二互联专业提供速度最快最稳定的美国服务器、香港服务器。中美直连,亚洲优化![ 代理登陆 ] [ 付款方式 ] [ 找回密码 ][ 电子协议责任书 ]
硬件资源保障

采用高配品牌服务器

主流强悍CPU配置

确保服务高速稳定运行

中美直连线路

中美直连亚洲优化

采用中国CN2骨干网络

保证速度飞快稳定高效

如何优化 MySQL ?

美国、香港服务器

如何优化 MySQL ?

05-08   来源:

 MySQL / MariaDB 完整性能优化教程

通用 CentOS、Ubuntu、宝塔环境,直接复制配置就能用,降 CPU、降内存占用、提速网站、减少卡顿。
一、先找到配置文件
MySQL/MariaDB 配置文件路径:
plaintext
/etc/my.cnf
/etc/mysql/my.cnf
/usr/local/mysql/my.cnf
编辑:
bash
运行
nano /etc/my.cnf
二、按服务器内存套用配置(直接选对应复制)
1. 2G 内存服务器专用
ini
[mysqld]
# 基础
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
pid-file=/var/run/mysqld/mysqld.pid
# 内存核心优化
innodb_buffer_pool_size = 1G
innodb_log_file_size = 256M
innodb_log_buffer_size = 64M
# 连接与并发
max_connections = 500
wait_timeout = 600
interactive_timeout = 600
# 查询缓存
query_cache_type = 1
query_cache_size = 64M
query_cache_limit = 2M
# 字符集
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
# 性能
tmp_table_size = 64M
max_heap_table_size = 64M
sort_buffer_size = 2M
join_buffer_size = 2M
2. 4G 内存服务器专用
ini
innodb_buffer_pool_size = 2G
innodb_log_file_size = 512M
innodb_log_buffer_size = 128M
max_connections = 800
query_cache_size = 128M
tmp_table_size = 128M
max_heap_table_size = 128M
3. 8G 内存服务器专用
ini
innodb_buffer_pool_size = 5G
innodb_log_file_size = 1G
innodb_log_buffer_size = 256M
max_connections = 1500
query_cache_size = 256M
tmp_table_size = 256M
max_heap_table_size = 256M
三、关键参数解释(看懂就不会配错)
innodb_buffer_pool_sizeMySQL 最重要参数,分配物理内存的 50%~70%用来缓存数据表、索引,大幅减少磁盘 IO、降低 CPU。
max_connections最大并发连接数,小站 500 足够,大站 1000–1500。
wait_timeout / interactive_timeout闲置连接自动断开,防止空连接占满资源。
query_cache开启查询缓存,重复 SQL 直接返回,不用重新计算。
tmp_table_size / max_heap_table_size临时表内存大小,太小会频繁写磁盘导致卡顿。
四、保存并重启 MySQL 生效
bash
运行
# 保存退出后重启
systemctl restart mysqld
# 或
systemctl restart mariadb
五、事后检查是否优化生效
bash
运行
# 看MySQL运行状态
mysqladmin status
# 登录看变量
mysql -uroot -p
show variables like "%buffer_pool_size%";
show variables like "max_connections";
六、额外优化(必做)
关闭不用的数据库引擎默认只保留 InnoDB,关闭 MyISAM 无用开销。
开启慢查询日志找出拖慢网站的 SQL,针对性优化:
ini
slow_query_log = 1
slow_query_log_file = /var/log/mysql/slow.log
long_query_time = 2
定期优化数据表
bash
运行
mysqlcheck -o -A -uroot -p
不要把 max_connections 设太大
设几万反而会内存溢出、卡死数据库,够用就行。
七、安全顺带优化
禁止 root 外网 3306 端口暴露
每个网站单独建数据库账号,不共用 root
定期备份数据库,防止损坏 / 被删

三二互联专业提供香港VPS,美国VPS主机,香港云服务器租用等业务香港美国到大陆CN2 GIA速度最快

上一篇:如何优化 MySQL 的查询缓存? 下一篇:如何优化 Nginx ?

美国GIA服务器三二互联版权所有 WWW.250.cc 2008-2015 All Rights Reserved
三二互联 - 专业的美国C3服务器香港vps、抗DOOS流量清洗、云备份系统、网站加速系统、美国GIA服务器和香港云服务器产品提供商
三二互联24小时在线工单系统为您提供全面、专业、周到的技术支持与服务
咨询热线:400-679-9994(免长话费)