微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

MySQL默认数据库以及如何使现有的非InnoDB成为InnoDB

如何解决MySQL默认数据库以及如何使现有的非InnoDB成为InnoDB

|| 我正处于项目的开始阶段,到目前为止,我一直在使用认的MysqL数据库。 顺便说一句,数据库是否有名称? 我的问题是如何在不删除当前表和创建新表的情况下将现有表更改为utf-8和InnoDB。是否有一个修改表来制作表utf-8和InnoDB? 谢谢, 亚历克斯     

解决方法

MyISAM
是MySQL的默认存储引擎(直到5.5.5,
InnoDB
成为默认存储引擎)。没有默认数据库的概念。 要使现有表使用
InnoDB
,请使用以下命令:
ALTER TABLE tbl_name ENGINE = InnoDB;
要将现有表的字符集更改为“ 4”,请使用以下命令:
ALTER TABLE tbl_name CONVERT TO CHARACTER SET utf8;
    ,如果您想安全地将表更改为InnoDB,我有一个很好的建议: 创建一个新表作为InnoDB并加载它 对于此示例,在mydb数据库中有一个名为mytable的MyISAM表。您可以执行以下操作:
use mydb
CREATE TABLE mytable_innodb LIKE mytable;
ALTER TABLE mytable_innodb ENGINE=InnoDB;
INSERT INTO mytable_innodb SELECT * FROM mytable;
ALTER TABLE mytable RENAME mytable_myisam;
ALTER TABLE mytable_innodb RENAME mytable;
而已。新表是InnoDB,另外您还拥有MyISAM中原始表及其原始内容和布局的备份。您可以在新的InnoDB表上自由执行所需的任何其他转换。 警告 确保优化InnoDB InnoDB性能调整 如何:清理一个MySQL InnoDB存储引擎? 如何安全地更改InnoDB日志文件大小 InnoDB和MyISAM之间的主要区别     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。