WordPress数据库MyISAM表转换InnoDB表的方法

之前一直用着旧版本的WP不觉得,感觉升级到PHP7和Wordpress5.*之后系统资源吃的很紧,查看MySQL数据库也成了MyISAM表,我还是喜欢换成InnoDB表,所以网上找了下如何转换,并且修复和优化下,特此记录下来,方便下次自己看。

首先我们登陆到数据库中,最直观的就是使用VPS的,我直接PHPmyadmin登陆,在SQL栏中执行:

ALTER TABLE wp_users ENGINE=INNODB;
ALTER TABLE wp_usermeta ENGINE=INNODB;
ALTER TABLE wp_term_taxonomy ENGINE=INNODB;
ALTER TABLE wp_term_relationships ENGINE=INNODB;
ALTER TABLE wp_terms ENGINE=INNODB;
ALTER TABLE wp_termmeta ENGINE=INNODB;
ALTER TABLE wp_posts ENGINE=INNODB;
ALTER TABLE wp_postmeta ENGINE=INNODB;
ALTER TABLE wp_options ENGINE=INNODB;
ALTER TABLE wp_links ENGINE=INNODB;
ALTER TABLE wp_comments ENGINE=INNODB;
ALTER TABLE wp_commentmeta ENGINE=INNODB;
ALTER TABLE wp_drp_coupon ENGINE=INNODB;
ALTER TABLE wp_pollsip ENGINE=INNODB;
ALTER TABLE wp_ratings ENGINE=INNODB;

###这些不一定完全是一样的,比方说有些插件啊之类的,如果要全部转掉的话可以在数据库中查看和替换。

执行完成之后,我们在网站配置文件wp-config.php中添加一行:

define('WP_ALLOW_REPAIR', true);

保存后,访问http://域名/wp-admin/maint/repair.php,然后点击修复或者优化。

InnoDB

注意:为了安全起见修复和优化完之后,请将之前加入配置文件的代码移除。