如何修改mysql表的存储引擎?

如何修改mysql表的存储引擎?,第1张

1、修改表引擎方法\x0d\x0a alter table table_name engine=innodb\x0d\x0a2、查看系统支持的存储引擎\x0d\x0a show engines\x0d\x0a3、查看表使用的存储引擎\x0d\x0a 两种方法:\x0d\x0a a、show table status from db_name where name='table_name'\x0d\x0a b、show create table table_name\x0d\x0a 如果显示的格式不好看,可以用\g代替行尾分号 \x0d\x0a 有人说用第二种方法不准确\x0d\x0a 我试了下,关闭掉原先默认的Innodb引擎后根本无法执行show create table table_name指令,因为之前建的是Innodb表,关掉后默认用MyISAM引擎,导致Innodb表数据无法被正确读取。\x0d\x0a4 关闭Innodb引擎方法\x0d\x0a 关闭mysql服务: net stop mysql\x0d\x0a 找到mysql安装目录下的my.ini文件:\x0d\x0a 找到default-storage-engine=INNODB 改为default-storage-engine=MYISAM\x0d\x0a 找到#skip-innodb 改为skip-innodb\x0d\x0a 启动mysql服务:net start mysql

用navicat可以直接从其它数据库(本地或其它主机)的表复制数据,

没必要导出到excel.

或者用navicat将b中的a1

复制a中,命名为b1

然后新建查询

select

*

from

b1

into

a1(数段1,

数段2....)

先将数据库导出啊,搞成SQL脚本

然后吧INNODB替换成MYISAM- -

我以前是这么做的

但是INNODB好用得多啊- -~~~

好像没有更好的办法了,批量改不这样做的话那就是自己写脚本?那对于数据库本身而言更麻烦,中间会产生很多问题......

可不可以先导出结构,在另一台服务器上把结构修改好之后然后做个COPY或者是热备?

而且INNODB参数设置得当的情况下效率也差不了多少,在大并发量的情况下性能完全优于MYISAM引擎的,特别是行级锁这东西.....很好用


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6773557.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-28
下一篇 2023-03-28

发表评论

登录后才能评论

评论列表(0条)

保存