『叶问』#42,可以禁用MyISAM引擎吗

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 随着MySQL 8.0的推出,系统表已经全面采用InnoDB引擎,不再需要MyISAM引擎。另外,MGR中也不支持MyISAM引擎。

MyISAM的适用场景越来越少了。

随着MySQL 8.0的推出,系统表已经全面采用InnoDB引擎,不再需要MyISAM引擎。另外,MGR中也不支持MyISAM引擎。

因此,基本上可以考虑全面禁止使用MyISAM引擎了,问题是,这可行吗?

答案是肯定的,可以做到。

从MySSQL 5.7.8开始,新增一个选项 disabled_storage_engines,只需要设置下即可:

disabled_storage_engines = MyISAM

这就完美地实现禁用MyISAM的目的了。

另外,这么设置的话,是不会影响MySQL实例初始化的。即便是在MySQL 5.7版本中,系统表要使用MyISAM引擎,也不会影响生成MyISAM引擎的系统表。

disabled_storage_engines is disabled and has no effect if the server is started with any of these options: --bootstrap, --initialize, --initialize-insecure, --skip-grant-tables.

不过,设置该选项后可能会影响 mysql_upgrade 升级:

Setting disabled_storage_engines might cause an issue with mysql_upgrade. For details, see Section 4.4.7, “mysql_upgrade — Check and Upgrade MySQL Tables”.

执行 mysql_upgrade 进行升级时可能会报错:

mysql_upgrade: [ERROR] 3161: Storage engine MyISAM is disabled
(Table creation is disallowed).

这时候需要临时关闭该选项,等待升级完成后再重新启用即可。



《实战MGR》视频课程

复制链接在浏览器中打开

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
8月前
|
存储 关系型数据库 MySQL
MySQL引擎对决:深入解析MyISAM和InnoDB的区别
MySQL引擎对决:深入解析MyISAM和InnoDB的区别
1751 0
|
2月前
|
存储 算法 关系型数据库
InnoDB与MyISAM实现索引方式的区别
InnoDB和MyISAM均采用B+树索引,但在实现上有所不同。InnoDB的主键索引在叶子节点存储完整数据记录,辅助索引则存储主键值;而MyISAM的主键索引与数据文件分离,仅存数据地址,且主辅索引无区别,支持非唯一主索引。
45 1
|
SQL 存储 关系型数据库
Mysql 的InnoDB引擎下支持hash索引吗?
Mysql 的InnoDB引擎下支持hash索引吗?
884 0
Mysql 的InnoDB引擎下支持hash索引吗?
|
关系型数据库 数据库 索引
数据库系列课程(11)-MyISAM和InnoDB对B-Tree索引不同的实现方式
数据库系列课程(11)-MyISAM和InnoDB对B-Tree索引不同的实现方式
62 0
|
存储 关系型数据库 MySQL
InnoDB与MyISAM实现索引方式的区别
InnoDB和MyISAM是MySQL中常见的两种存储引擎,它们在实现索引方式上有一些区别。下面我将简述InnoDB和MyISAM实现索引的方式和特点。
134 0
|
存储 关系型数据库 MySQL
MySQL原理 - InnoDB引擎 - 行记录存储 - Redundant行格式
MySQL原理 - InnoDB引擎 - 行记录存储 - Redundant行格式
MySQL原理 - InnoDB引擎 - 行记录存储 - Redundant行格式
|
关系型数据库 数据库
批量修改数据库的引擎由MyISAM 修改为 InnoDB
批量修改数据库的引擎由MyISAM 修改为 InnoDB
81 0
|
SQL 关系型数据库 MySQL
《叶问》31期,MySQL中如何查询某个表上的IS(意向共享)锁
《叶问》31期,MySQL中如何查询某个表上的IS(意向共享)锁
120 0
《叶问》31期,MySQL中如何查询某个表上的IS(意向共享)锁
|
关系型数据库 MySQL
Mysql重启后innodb和myisam插入的主键id变化总结
Mysql重启后innodb和myisam插入的主键id变化总结
357 0
Mysql重启后innodb和myisam插入的主键id变化总结
|
存储 设计模式 SQL
MySQL原理 - InnoDB引擎 - 行记录存储 - Off-page 列
MySQL原理 - InnoDB引擎 - 行记录存储 - Off-page 列
MySQL原理 - InnoDB引擎 - 行记录存储 - Off-page 列