优化 MySQL 设置

优化 MySQL 设置

我有点困惑,不知道应该在 my.conf 文件中更改哪些设置来优化我的服务器(由于流量太大,mysql 服务器不断崩溃)。

这是 my.conf 文件:

[mysqld]
local-infile = 0
max_connections = 300
key_buffer = 32M
myisam_sort_buffer_size = 1G
join_buffer_size = 10M
read_buffer_size = 10M
sort_buffer_size = 20M
table_cache = 4000
thread_cache_size = 286
interactive_timeout = 25
wait_timeout = 7000
connect_timeout = 10
max_allowed_packet = 16M
max_connect_errors = 10
query_cache_limit = 2M
query_cache_size = 12M
query_cache_type = 1
tmp_table_size = 16M
skip-innodb
[mysqld_safe]
open_files_limit = 8192
[mysqldump]
quick
max_allowed_packet = 16M
[myisamchk]
key_buffer = 64M
sort_buffer = 64M
read_buffer = 16M
write_buffer = 16M
[mysqlhotcopy]
interactive-timeout

服务器规格如下:

CPU Cores   2 cores
RAM (Memory)    1GB
SSD (Disk Space)    20GB

运行 Ubuntu 12.04 LTS

这是我的分区:

NAME   FSTYPE   SIZE MOUNTPOINT LABEL
vda              20G            
├─vda1 ext4     476M /boot      
├─vda2 swap     477M [SWAP]     
└─vda3 ext4    19.1G / 

任何帮助将非常感激。

答案1

对于这种笼统的问题,这里没什么好说的。如果能真正了解崩溃时发生了什么,那会很有帮助,所以下次发生这种情况时,连接并查看进程列表可能是个不错的选择。然后,我会首先启用慢查询日志并分析长时间运行的查询(或者更详细的日志记录),并记录当时的磁盘空间/内存利用率。您可以开始尝试设置和调整,但这更多的是为了提高性能,而不是解决崩溃问题。您还没有详细说明“崩溃”;mysql 是死机了还是只是卡在查询上等等?

相关内容