欢迎来到资源库(www.zyku.net)

MySQL

当前位置:首页 > 数据库 > MySQL > MyISAM

MySQL数据库MyISAM转换InnoDB方法

时间:2021-06-01|栏目:MySQL|点击:|我要投稿

MyISAM与InnoDB是mysql目前比较常用的两个数据库存储引擎,MyISAM与InnoDB的主要的不同点在于性能和事务控制上。这里简单的介绍一下两者间的区别和转换方法:

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

navicat可视化修改:

(资源库 www.zyku.net)

原文链接:https://my.oschina.net/yves175/blog/829096

上一篇:MySQL 5.7修改root用户密码教程

栏    目:MySQL

下一篇:Navicat设置MySQL字段唯一索引不可重复

本文标题:MySQL数据库MyISAM转换InnoDB方法

本文地址:https://www.zyku.net/mysql/2213.html

关于我们 | 版权申明 | 寻求合作 |

重要申明:本站所有的文章、图片、评论等内容,均由网友发表或上传并维护或收集自网络,仅供个人学习交流使用,版权归原作者所有。

如有侵犯您的版权,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:95148658 | 邮箱:mb8#qq.com(#换成@)

苏ICP备2020066115号-1

本网站由提供CDN加速/云存储服务