希望为INNODB优化mysql5.5数据库 . 我试过这个链接
注意:数据库还包含MYISAM表 .
Howto: Clean a mysql InnoDB storage engine?
按照说明我删除了所有数据库以及ibdata *和ib_logfile *并在my.cnf中进行了更改
[mysqld]
innodb_file_per_table
innodb_flush_method=O_DIRECT
innodb_log_file_size=1G
innodb_buffer_pool_size=4G
现在,在恢复备份时,不仅mysql将INNODB表存储在单独的文件中,而且还在为MYISAM表执行此操作 . 这导致MYISAM数据库无法使用 .
当我试图访问有MYISAM表的网站时,我收到错误 - Error displaying the error page: Application Instantiation Error
无法解释为什么mysql将MYISAM表存储在单独的文件中 . 谢谢 .
1 回答
AFAIK MyISAM始终将表存储在自己的文件中(每个表3个文件:.MYI,.MYD和.frm) .
删除ibdata文件是 not allowed . 你有该文件的备份吗?要从每个表单个文件移动到文件,您需要按照此处的说明进行操作:http://dev.mysql.com/doc/refman/5.0/en/innodb-multiple-tablespaces.html(参见"Enabling and Disabling Multiple Tablespaces"下)