我已经将几个MySQL表更新为InnoDb。在这样做之后,MySQL已经变得迟钝了,我拥有数据库的硬盘驱动器正在不断写入,即使我的更改已经完成。 Peridoically CPU将在两个内核上占用大量的100%,但无论使用它们,都不会在System Monitor(Debian)中注册我们。读取数据库是可能的,但速度很慢。我没有尝试写作,因为它显然正忙着做某事 - 但我不知道是什么。
深入挖掘,我发现我有一个非常大的ibdata1文件,几乎62GB - 我在InnoDB中有一些大表,包括16,10,9,1.5和1.1 GB;还有很多小。
有谁知道这里可能会发生什么?或者我可以看到的日志可能会有些亮点?我重新启动了,但是当MySQL上线时,同样的事情发生了,并且已经持续了一个多小时。另外,对我来说将一些InnoDB表更改为MyISSAM是个好主意吗?在大型公司中,没有一个需要InnoDb进行交易,但是我的一些小公司需要(低于50MB)。
答案 0 :(得分:1)
两个最重要的选项是innodb_buffer_size和innodb_logfile_size。将前者设置为与数据库一样大,但为操作系统留下至少4-6G。 最佳日志文件大小取决于您的写入量,但大约256M的大小适用于大多数工作负载。