MyISAM与InnoDB之间的切换

查看MySQL提供什么存储引擎:

mysql> show engines;

查看MySQL当前默认的存储引擎:

mysql> show variables like '%storage_engine%';

查询wpsql库

mysql> use wpsql;

列出当前库所有表名

mysql> show tables;

你要看wp_posts表用了什么引擎(在显示结果里参数engine后面的就表示该表当前用的存储引擎):

mysql> show create table wp_posts;

将wp_posts表修为InnoDB存储引擎(也可以此命令将InnoDB换为MyISAM):

mysql> ALTER TABLE wp_posts ENGINE=INNODB;
如果要更改整个数据库表的存储引擎,一般要一个表一个表的修改,比较繁琐,可以采用先把数据库导出,得到SQL,把MyISAM全部替换为INNODB,再导入数据库的方式。

转换完毕后重启mysql

service mysqld restart

如果要把数据库从MyISAM修改成InnoDB需要做以下工作:

因为MySQL没有安装或没有使用InnoDB引擎,可以通过SQL命令查看引擎:

SHOW ENGINES;

结果如果是InnoDB| NO 说明未开启。

如果没有安装,则需要打补丁,或重新安装该模块,如果安装,可参考以下解决办法。

检查my.cnf配置(windows为my.ini):

如果出现“#skip-innodb”则将“#”去掉,重启MySQL;

如果第一条无法解决,加上配置:default-storage-engine=InnoDB 再重启MySQL。

如果第二条仍无法解决,则检查InnoDB引擎的配置是否有:

innodb_data_file_path = ibdata1:200M:autoextend

innodb_buffer_pool_size = 2G

innodb_additional_mem_pool_size = 2M

innodb_log_file_size = 256M

innodb_log_buffer_size = 8M

innodb_flush_log_at_trx_commit = 1

innodb_lock_wait_timeout = 120

这些配置参数根据本机实际情况配置。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容