如何设置表存储引擎_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


相关推荐: 为什么要用作用域操作符_php中访问类常量与静态属性的优势【解答】  邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?  Bootstrap整体框架之CSS12栅格系统  香港服务器网站卡顿?如何解决网络延迟与负载问题?  php8.4header发送头信息失败怎么办_php8.4header函数问题解决【解答】  详解vue.js组件化开发实践  网站制作软件有哪些,制图软件有哪些?  软银砸40亿美元收购DigitalBridge 强化AI资料中心布局  韩国服务器如何优化跨境访问实现高效连接?  Laravel Facade的原理是什么_深入理解Laravel门面及其工作机制  Laravel Vite是做什么的_Laravel前端资源打包工具Vite配置与使用  Midjourney怎么调整光影效果_Midjourney光影调整方法【指南】  如何在景安云服务器上绑定域名并配置虚拟主机?  Python并发异常传播_错误处理解析【教程】  香港服务器部署网站为何提示未备案?  历史网站制作软件,华为如何找回被删除的网站?  QQ浏览器网页版登录入口 个人中心在线进入  Laravel如何实现全文搜索_Laravel Scout集成Algolia或Meilisearch教程  香港服务器选型指南:免备案配置与高效建站方案解析  如何在服务器上三步完成建站并提升流量?  ChatGPT回答中断怎么办 引导AI继续输出完整内容的方法  Laravel如何使用缓存系统提升性能_Laravel缓存驱动和应用优化方案  Laravel如何实现邮箱地址验证功能_Laravel邮件验证流程与配置  Laravel如何升级到最新版本?(升级指南和步骤)  在centOS 7安装mysql 5.7的详细教程  音响网站制作视频教程,隆霸音响官方网站?  Laravel如何为API生成Swagger或OpenAPI文档  如何用wdcp快速搭建高效网站?  laravel怎么实现图片的压缩和裁剪_laravel图片压缩与裁剪方法  Laravel如何发送系统通知?(Notification渠道示例)  如何彻底卸载建站之星软件?  如何用5美元大硬盘VPS安全高效搭建个人网站?  如何在浏览器中启用Flash_2025年继续使用Flash Player的方法【过时】  Javascript中的事件循环是如何工作的_如何利用Javascript事件循环优化异步代码?  电商网站制作价格怎么算,网上拍卖流程以及规则?  百度浏览器网页无法复制文字怎么办 百度浏览器复制修复  Swift开发中switch语句值绑定模式  Microsoft Edge如何解决网页加载问题 Edge浏览器加载问题修复  JavaScript如何实现音频处理_Web Audio API如何工作?  如何确保FTP站点访问权限与数据传输安全?  Windows10电脑怎么设置虚拟光驱_Win10右键装载ISO镜像文件  JavaScript中如何操作剪贴板_ClipboardAPI怎么用  Laravel Seeder怎么填充数据_Laravel数据库填充器的使用方法与技巧  如何在阿里云完成域名注册与建站?  如何基于云服务器快速搭建网站及云盘系统?  Laravel如何理解并使用服务容器(Service Container)_Laravel依赖注入与容器绑定说明  Python高阶函数应用_函数作为参数说明【指导】  微信小程序 scroll-view组件实现列表页实例代码  javascript中的try catch异常捕获机制用法分析  网站设计制作书签怎么做,怎样将网页添加到书签/主页书签/桌面?