MySQL中myisam转innodb的实例教程
<script>ec(2);</script>
这里简单的介绍一下两者间的区别和转换方法:
MyISAM:MyISAM是MySQL5.5之前版本默认的数据库存储引擎。MYISAM提供高速存储和检索,以及全文搜索能力,适合数据仓库等查询频繁的应用。但不支持事务、也不支持外键。MyISAM格式的一个重要缺陷就是不能在表损坏后恢复数据。
InnoDB:InnoDB是MySQL5.5版本的默认数据库存储引擎,不过InnoDB已被Oracle收购,MySQL自行开发的新存储引擎Falcon将在MySQL6.0版本引进。InnoDB具有提交、回滚和崩溃恢复能力的事务安全。但是比起MyISAM存储引擎,InnoDB写的处理效率差一些并且会占用更多的磁盘空间以保留数据和索引。尽管如此,但是InnoDB包括了对事务处理和外来键的支持,这两点都是MyISAM引擎所没有的。
MyISAM适合:(1)做很多count 的计算;(2)插入不频繁,查询非常频繁;(3)没有事务。
InnoDB适合:(1)可靠性要求比较高,或者要求事务;(2)表更新和查询都相当的频繁,并且表锁定的机会比较大的情况。(4)性能较好的服务器,比如单独的数据库服务器,像阿里云的关系型数据库RDS就推荐使用InnoDB引擎。
MySQL一般提供多种存储引擎,可以通过执行以下指令查看:
首先进入MySQL命令行模式
查看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
以上就是MySQL中myisam转innodb的实例教程的详细内容,更多请关注其它相关文章!
推荐阅读
-
MySQL存储引擎以及MyISAM与InnoDB的区别详解
-
MySQL中浮点型转字符型可能会遇的问题详解
-
mysql 中InnoDB和MyISAM的区别分析小结
-
Mysql启动中 InnoDB: Error: log file ./ib_logfile0 is of different size 0 5242880 bytes 的问题
-
MySQL两种表存储结构MyISAM和InnoDB的性能比较测试
-
关于mysql中storage_engine中MYISAM和INNODB的选择
-
MySQL MyISAM 与InnoDB 的区别
-
Mysql更换MyISAM存储引擎为Innodb的操作记录总结
-
高性能MySQL--innodb中事务的隔离级别与锁的关系
-
mysql数据库引擎MyISAM与InnoDB之间的区别