免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2094 | 回复: 0
打印 上一主题 下一主题

将MySQL 5.1 MyISAM 转换成 INNODB 存储引擎 [复制链接]

论坛徽章:
1
数据库技术版块每日发帖之星
日期:2015-10-27 06:20:00
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-12-22 08:53 |只看该作者 |倒序浏览
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;

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP