如何设置表存储引擎_mysql engine配置

发布时间 - 2026-01-28 00:00:00    点击率:
MySQL表存储引擎可创建时指定或ALTER TABLE修改,5.5起默认为InnoDB;用SHOW ENGINES和SHOW VARIABLES查看;CREATE TABLE时用ENGINE=xxx声明,不写则用默认;ALTER TABLE ENGINE=xxx会重建表并加锁;配置文件中设default-storage-engine可全局修改默认值。

MySQL 表的存储引擎是在创建表时指定的,也可以在后续通过 ALTER TABLE 修改(需满足引擎兼容性条件)。默认引擎从 MySQL 5.5 起是 InnoDB,但具体行为取决于版本和配置。

查看当前默认引擎和可用引擎

执行以下命令可确认当前 MySQL 实例支持哪些引擎及默认设置:

  • SHOW ENGINES; — 查看所有引擎状态(Support 列为 DEFAULT 表示当前默认)
  • SHOW VARIABLES LIKE '

    default_storage_engine';
    SHOW VARIABLES LIKE 'storage_engine';(旧版本)

创建表时指定引擎

CREATE TABLE 语句末尾用 ENGINE=xxx 显式声明,例如:

  • CREATE TABLE users (id INT, name VARCHAR(20)) ENGINE=InnoDB;
  • CREATE TABLE logs (ts DATETIME, msg TEXT) ENGINE=MyISAM;
  • 不写 ENGINE 时,将使用服务器默认引擎(通常是 InnoDB)

修改已有表的存储引擎

使用 ALTER TABLE ... ENGINE=xxx,例如:

  • ALTER TABLE users ENGINE=MyISAM;
  • 该操作会重建表,期间加锁,大表需谨慎;部分引擎(如 MEMORY)不支持含 BLOB/TEXT 列的表
  • 若目标引擎不支持某些特性(如外键),MySQL 会报错或静默忽略(如 MyISAM 不支持外键,会丢弃约束定义)

全局或会话级默认引擎配置(my.cnf / my.ini)

可在 MySQL 配置文件中设置启动时的默认引擎:

  • 添加或修改:[mysqld]
    default-storage-engine = InnoDB
    (MySQL 5.7+ 推荐用 default_storage_engine,注意下划线)
  • 重启 MySQL 生效;修改后新创建的表若未显式指定引擎,即采用此值
  • 不建议设为 MyISAM(尤其在需要事务、崩溃恢复或外键的场景)


# mysql  # 配置文件  # int  # default  # table  # 不支持  # 不写  # 加锁  # 是在  # 已有  # 下划线  # 设为  # 可在  # 报错 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel怎么配置S3云存储驱动_Laravel集成阿里云OSS或AWS S3存储桶【教程】  JavaScript如何实现路由_前端路由原理是什么  公司门户网站制作流程,华为官网怎么做?  香港服务器部署网站为何提示未备案?  如何生成腾讯云建站专用兑换码?  javascript中闭包概念与用法深入理解  Laravel如何使用软删除(Soft Deletes)功能_Eloquent软删除与数据恢复方法  jimdo怎样用html5做选项卡_jimdo选项卡html5实现与切换效果【指南】  软银砸40亿美元收购DigitalBridge 强化AI资料中心布局  Laravel如何实现多对多模型关联?(Eloquent教程)  如何登录建站主机?访问步骤全解析  如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?  如何在Ubuntu系统下快速搭建WordPress个人网站?  在centOS 7安装mysql 5.7的详细教程  制作电商网页,电商供应链怎么做?  如何利用DOS批处理实现定时关机操作详解  🚀拖拽式CMS建站能否实现高效与个性化并存?  电商网站制作多少钱一个,电子商务公司的网站制作费用计入什么科目?  Laravel如何配置和使用缓存?(Redis代码示例)  详解Android图表 MPAndroidChart折线图  JavaScript常见的五种数组去重的方式  潮流网站制作头像软件下载,适合母子的网名有哪些?  php8.4header发送头信息失败怎么办_php8.4header函数问题解决【解答】  如何快速打造个性化非模板自助建站?  如何用ChatGPT准备面试 模拟面试问答与职场话术练习教程  EditPlus中的正则表达式 实战(1)  详解jQuery中基本的动画方法  矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?  JavaScript如何实现音频处理_Web Audio API如何工作?  html5的keygen标签为什么废弃_替代方案说明【解答】  公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?  Python图片处理进阶教程_Pillow滤镜与图像增强  Android利用动画实现背景逐渐变暗  香港服务器建站指南:免备案优势与SEO优化技巧全解析  使用Dockerfile构建java web环境  Laravel如何生成PDF或Excel文件_Laravel文档导出工具与使用教程  宙斯浏览器文件分类查看教程 快速筛选视频文档与图片方法  ,在苏州找工作,上哪个网站比较好?  html5audio标签播放结束怎么触发事件_onended回调方法【教程】  Laravel如何使用Eloquent进行子查询  Python正则表达式进阶教程_复杂匹配与分组替换解析  为什么php本地部署后css不生效_静态资源加载失败修复技巧【技巧】  Laravel怎么实现一对多关联查询_Laravel Eloquent模型关系定义与预加载【实战】  Laravel如何记录日志_Laravel Logging系统配置与自定义日志通道  Gemini怎么用新功能实时问答_Gemini实时问答使用【步骤】  如何在云服务器上快速搭建个人网站?  电视网站制作tvbox接口,云海电视怎样自定义添加电视源?  大同网页,大同瑞慈医院官网?  如何批量查询域名的建站时间记录?  Laravel Fortify是什么,和Jetstream有什么关系