MYSQL中InnoDB怎么转换成MyISAM?

MYSQL中的数据表类型,如InnoDB类型怎么转换成MyISAM类型?现在数据库里的表是InnoDB,现在想转成MyISAM类型,怎么转换?在phpmyadmin里直接... MYSQL中的数据表类型,如InnoDB类型怎么转换成MyISAM类型?
现在数据库里的表是InnoDB,现在想转成MyISAM类型,怎么转换?
在phpmyadmin里直接用操作里面的转换表类型可以吗?转换后对数据库使用会不会有影响?
展开
 我来答
超超2008
推荐于2016-12-04 · TA获得超过2万个赞
知道大有可为答主
回答量:6033
采纳率:42%
帮助的人:3623万
展开全部
InnoDB 没有一个特殊的分册索引建立优化机制。
因此不支持先 export/import 表然后创建索引。
最快的办法就是直接将表类型改变为 InnoDB 类型或直接插入数据,这就是说,使用 ALTER TABLE ... TYPE=INNODB或者新建一个空的具有相同结构的 InnoDB 表,然后使用 INSERT INTO ... SELECT * FROM .... 插入数据。
du瓶邪
推荐于2016-07-26 · TA获得超过2.4万个赞
知道大有可为答主
回答量:1.7万
采纳率:100%
帮助的人:2816万
展开全部
mysql 5.1默认只启用MyISAM, 使用INNODB要做一下修改:
  === InnoDB Storage Engine ===
  Plugin Name: innobase
  Description: Transactional Tables using InnoDB
  Supports build: static and dynamic
  Configurations: max, max-no-ndb
mysql 5.1版本之后,要使用innodb有两种方法
(1).静态编译的时候加入 --with-plugin-innobase
(2).动态扩展 启动mysqld后
  mysql>INSTALL PLUGIN innodb SONAME 'ha_innodb.so'
  mysql> show plugin
  就可以看见了
  动态的话plugin_dir要指定正确:
  [mysqld]
plugin_dir=/path/to/plugin/directory
  最后,通过动态方式,解决了这个转换问题。

查看mysql 5.1 是否安装了innodb插件(mysql 5.0使用: show variables like 'have_%';)
mysql> show plugins;
+------------+--------+----------------+--------------+---------+
| Name | Status | Type | Library | License |
+------------+--------+----------------+--------------+---------+
| binlog | ACTIVE | STORAGE ENGINE | NULL | GPL |
| CSV | ACTIVE | STORAGE ENGINE | NULL | GPL |
| MEMORY | ACTIVE | STORAGE ENGINE | NULL | GPL |
| MyISAM | ACTIVE | STORAGE ENGINE | NULL | GPL |
| MRG_MYISAM | ACTIVE | STORAGE ENGINE | NULL | GPL | |
+------------+--------+----------------+--------------+---------+
5 rows in set (0.00 sec)

发现没有安装 INNODB,执行下面语句:
mysql> install plugin innodb soname 'ha_innodb.so';
再次查看:
mysql> show plugins;
+------------+--------+----------------+--------------+---------+
| Name | Status | Type | Library | License |
+------------+--------+----------------+--------------+---------+
| binlog | ACTIVE | STORAGE ENGINE | NULL | GPL |
| CSV | ACTIVE | STORAGE ENGINE | NULL | GPL |
| MEMORY | ACTIVE | STORAGE ENGINE | NULL | GPL |
| MyISAM | ACTIVE | STORAGE ENGINE | NULL | GPL |
| MRG_MYISAM | ACTIVE | STORAGE ENGINE | NULL | GPL |
| InnoDB | ACTIVE | STORAGE ENGINE | ha_innodb.so | GPL |
+------------+--------+----------------+--------------+---------+
6 rows in set (0.00 sec)
2. 查看表的类型:
mysql> use web_db;
mysql> show tablse;
随便找个表看类型:
mysql> show create table sys_user;

查看是否有以下字段:
ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8
如何将MyISAM库 导成 INNODB:
在备份出的 xxx.bak文件中 把 ENGINE=MyISAM 全换成 ENGINE=INNODB
再次导入就可以了。
转换表的命令:
alter table POD engine=innodb;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式