我有一个继承的 MySQL 数据库的问题。mysqld 有时会使用高达 2300% 的 CPU。唯一的解决方案是服务 mysql stop 并在表上运行 myisamchk -r。修复索引后,我启动 MySQL,一切正常。
关于永久解决方案的任何想法?
编辑(来自评论):
使用 5.5.29-0ubuntu0.12.04.2-log
key_buffer = 16M max_allowed_packet = 16M 线程堆栈 = 128K 线程缓存大小 = 8 myisam-recover = 备份 最大连接数 = 500 #table_cache = 512 #thread_concurrency = 10 query_cache_limit = 1M query_cache_size = 16M
SELECT SUM(index_length) ndxsize
FROM information_schema.tables
WHERE engine='MyISAM'
Run Code Online (Sandbox Code Playgroud)
返回
+-----------+ | ndxsize | +-----------+ | 59862016 | +-----------+
SELECT SUM(data_length+index_length)/power(1024,2) datndxsize
FROM information_schema.tables
WHERE engine='MyISAM'
Run Code Online (Sandbox Code Playgroud)
返回:
+--------------------+ | 数据大小 | +--------------------+ | 488.69915199279785 | …
我想将一些(不是全部)MyISAM 表转换为 InnoDB。
最好的配置是什么?(需要添加InnoDB设置,因为我的里面没有InnoDB设置my.cnf
)。