小编Ala*_*air的帖子

MySQL在`ALTER TABLE ... ENABLE KEYS`时完全挂起

我对数据库管理知之甚少,但我必须处理我网站上的一些非常大的表。

该服务器具有 64GB 内存和 Intel Core i7-3820 (4 x 3600 MHz)。它所做的大部分事情都是 MySQL。我使用一半 MyISAM 和一半 InnoDB 表。

我在 MyISAM 中有几个表,有数十亿行。每天我都有一个脚本禁用键,再添加几百万行,然后再次启用键。这ALTER TABLE... ENABLE KEYS会导致服务器基本上停止几个小时。任何使用 MySQL 的网站都不会加载,即使它们根本不访问正在更改的表。

还请告诉我如何设置 my.cnf 文件以解决此问题并优化以尽快重建这些索引。有人告诉我增加key_buffer_size,但我不确定这是否好,因为每个人似乎都有不同的意见..?目前它看起来像这样:

[client]
port        = 3306
socket      = /var/lib/mysql/mysql.sock

[mysqld]
port = 3306
socket = /var/lib/mysql/mysql.sock
skip-external-locking
max_allowed_packet = 512M
table_open_cache = 1024
sort_buffer_size = 128M
read_buffer_size = 2M
read_rnd_buffer_size = 8M
myisam_sort_buffer_size = 24G
thread_cache_size = 12
query_cache_size = 256M
thread_concurrency = 16
log-bin=mysql-bin
binlog_format=mixed
server-id   = 1
innodb_file_per_table = 1
table_cache …
Run Code Online (Sandbox Code Playgroud)

mysql myisam index

8
推荐指数
1
解决办法
1万
查看次数

标签 统计

index ×1

myisam ×1

mysql ×1