MySQL 5.5+默认存储引擎为InnoDB,5.1等旧版为MyISAM;可通过SHOW VARIABLES或SHOW ENGINES查看,默认引擎在Support列为DEFAULT;ALTER TABLE可临时修改单表引擎,需注意兼容性与锁表风险;永久修改需在my.cnf中配置default-storage-engine并重启服务,仅影响新建表;建表时显式指定ENGINE最稳妥。

MySQL 的默认存储引擎在不同版本中有所变化,5.5 及之后版本默认是 InnoDB,而 5.5 之前(如 5.1)默认为 MyISAM。修改存储引擎主要分两种场景:临时修改单表引擎、永久修改全局默认引擎。
查看当前默认存储引擎
连接 MySQL 后执行:
SHOW VARIABLES LIKE 'default_storage_engine';
或查看所有支持的引擎及状态:
SHOW ENGINES;
注意 Support 列为 DEFAULT 的即为当前默认引擎。
修改单个表的存储引擎
使用 ALTER TABLE 命令可直接切换已有表的引擎(需确保数据兼容,如外键、全文索引等特性在不同引擎中支持情况不同):
ALTER TABLE table_name ENGINE = InnoDB;ALTER TABLE table_name ENGINE = MyISAM;
操作前建议备份数据。若表含大字段或数据量大,该操作会锁表并重建,生产环境请安排低峰期执行。
SDCMS-B2C商城网站管理系统是一个以php+MySQL进行开发的B2C商城网站源码。 本次更新如下: 【新增的功能】 1、模板引擎增加包含文件父路径过滤; 2、增加模板编辑保存功能过滤; 3、增加对统计代码参数的过滤 4、新增会员价设置(每个商品可以设置不同级不同价格) 5、将微信公众号授权提示页单独存放到data/wxtemp.php中,方便修改 【优化或修改】 1、修改了check_b
永久修改 MySQL 默认存储引擎
需修改 MySQL 配置文件(Linux 下通常是 /etc/my.cnf 或 /etc/mysql/my.cnf,Windows 下为 my.ini),在 [mysqld] 段落下添加或修改:
default-storage-engine = InnoDB
保存后重启 MySQL 服务生效:
- Linux:
sudo systemctl restart mysqld或sudo service mysql restart - Windows:通过服务管理器重启 MySQL 服务
注意:该设置只影响后续新创建的表(未显式指定 ENGINE 的情况下),不会改变已有表的引擎。
建表时显式指定引擎(推荐做法)
最稳妥的方式是在 CREATE TABLE 语句中明确声明引擎,避免依赖默认值:
CREATE TABLE users ( id INT PRIMARY KEY, name VARCHAR(50) ) ENGINE = InnoDB;
这样既清晰又可控,尤其在多版本 MySQL 共存或迁移场景下能减少兼容性问题。









