如何查看mysql的默认引擎和修改mysql的引擎

哈,其实我以前也这么做过。
上周一位客户问我如何更改MySQL的默认存储引擎,所以我与他分享了这个技巧。

首先,使用命令行工具登录MySQL,然后运行以下命令:show engine;。
该命令显示MySQL支持的所有存储引擎及其状态。
查看支持栏。
如果是,则表示支持该存储引擎的当前版本。
DEFAULT 列是处理特定存储引擎时的默认值。

我之前看到的是InnoDB是默认的,并且DEFAULT行后面有一个复选标记。

那么如果要更改默认存储引擎,需要编辑MySQL配置文件my.cnf。
该文件一般位于MySQL安装目录下。
使用文本编辑器打开它,找到 [mysqld] 部分,然后在该部分中添加一行:default-storage-engine=MyISAM;。
注意这里写MyISAM是因为我的客户想要使用MyISAM。

完成更改后,保存文件,然后重新启动MySQL服务。
重新启动的方法取决于您的操作系统。
有些使用命令行重新启动,有些则使用服务管理器。

重新启动后,使用显示引擎。
命令检查。
此时你应该可以看到MyISAM已经成为默认的存储引擎。

但说实话,我一般不建议简单地更改默认的存储引擎,因为不同的存储引擎有不同的特点和适用场景。
InnoDB是MySQL推荐的引擎,因为它支持事务、行级锁定和外键,更适合复杂的业务场景。
虽然MyISAM读写速度很快,但它不支持事务,可能不适合需要高并发和事务支持的系统。
无论如何,这取决于你。
我还在思考如何在不同的情况下选择最合适的存储引擎的问题。

如何更改mysql数据库引擎

让我告诉你一件事。
去年,我帮邻居建了一台服务器。
他的 MySQL 数据库不断出现问题。
检查了半天,发现问题出在发动机上。
我立即开始更改它,这非常简单。

看,你必须先更改 my.ini 文件。
只需在 [mysqld] 部分中添加 default-storage-engine=InnoDB。
别看的这么简单。
当我第一次这样做时,我的手发抖,我用小写字母写了default-storage-engine=innodb。
结果MySQL直接报错,说找不到引擎。
我吓得赶紧重启服务。
我实在是笑不出来,哭不出来。
因此,您需要特别注意这一点,并确保正确输入所有大写字母。

更改 my.ini 后,保存它。
然后你必须使用SQL语句来一张一张地改变表。
我当时负责一百多个表,我用ALTER TABLE tableName ENGINE=InnoDB把它们全部改了。
看一下它的 my.ini 文件。
最后一行是default storagedrive=INNODB,它指定新的默认驱动器是InnoDB。

但请注意,my.ini 文件中的 basedir 和 datadir 的路径必须更正。
去年我看到有人写错了曲目。
结果MySQL在运行时找不到该文件,整个服务器就挂了。
因此,更改配置后,记得重启mysql服务或者net stop mysql| net start mysql 看看是否有错误。

另外,在更换引擎时,最好先在小型测试库中进行尝试。
去年我换了电机,突然一张旧桌子坏了。
经过一番查找,发现SQL写得不好,而且与新引擎不兼容。
我赶紧备份数据,删表重建,搞定了。

总之,更改MySQL驱动看似简单,但需要小心。
别像我当时一样,手在颤抖,小字写错了,浪费时间。

MySQL修改数据表存储引擎的3种方法介绍

修改表存储引擎的方式有3 种。

直接编辑。
数据量大时速度慢,影响读取性能。
使用 ALTER TABLE my_table ENGINE=InnoDB。
例如,对于 1 00 万行数据,可能需要几分钟。

导出和导入。
使用mysqldump,修改SQL文件然后导入。
但风险较高,数据可能有误。
与 Navicat 一起使用很容易。

创建插入内容。
推荐。
分两步。

第一步是创建一个新表。
创建表 my_tmp_table 像 my_table;然后更改表 my_tmp_table ENGINE=InnoDB。
例如,如果表结构很复杂,准备工作可能需要一天的时间。

第二步是插入数据。
使用 INSERT INTO my_tmp_table SELECT FROM my_table;添加交易并限制ID范围。
例如,对于 5 00 万行数据,这可能需要几个小时。

自己掂量一下。

如何更改mysql 数据库的存储引擎

嘿,我知道这个。
我记得当我第一次开始使用 MySQL 时,我很困惑。
我记得2 01 0年左右公司使用的是5 .5 版本,默认是MyISAM引擎。
起初我无法理解它们之间的区别。
但有一次,我有一张 MyISAM 表,突然所有数据都消失了。
我花了一段时间才发现MyISAM不支持事务并且在备份时容易出现问题。
真是令人心碎。

后来我切换到5 .6 ,innodb成为默认;更好了。
InnoDB支持事务;它让开发变得更加有趣。
有一次给客户建了一个系统,客户要求把一张表换成MyISAM,声称性能好。
我在创建表时尝试了 ENGINE=MyISAM 。
结果客户端的环境是5 .5 ,一上线就出现各种错误。
我告诉客户,你们的环境很旧,需要升级。
顾客还是不高兴;所以我最后只好硬着头皮帮忙升级系统;否则,就没用了。

更新桌面引擎;我尝试了 ALTER TABLE 测试 TYPE=INNODB。
你提到的命令。
有时有效有时无效。
在我看来,有时你可以使用 ALTER TABLE test ENGINE=INNODB;这种写法还是不错的。
特别是对于非常旧或具有复杂依赖关系的表。
更换发动机时要小心。

设置默认引擎;您说在 my.cnf 或 my.ini 文件中添加 default-storage-engine=INNODB 。
我经常用这个。
例如,2 01 3 年,配置新项目时,我添加了这一行,以避免每次创建表时都写入ENGINE=INNODB的问题。
安装后不要忘记重启服务,否则不会生效。

哦,对了,我忘了说innodb和MyISAM在备份和恢复方面落后了。
innodb支持热备份;这意味着数据库在备份期间仍然可以使用。
2 01 5 年,我帮一个客户制定了备份计划,直接推荐使用innodb逻辑备份和mysqldump。
这样做需要很长时间,而且恢复得很快。
MyISAM 不工作。
备份后必须将其关闭,恢复也很慢。