从mysql 5.5起,默认存储引擎为InnoDB,可通过SHOW VARIABLES命令查看当前默认引擎,并在my.cnf或my.ini中设置default-storage-engine参数修改默认引擎,重启服务后生效,且显式指定ENGINE的建表语句优先级高于默认设置。
mysql安装完成后,默认存储引擎的选择取决于版本和配置方式。从MySQL 5.5开始,InnoDB 已经成为默认存储引擎,取代了之前的 MyISAM。如果你希望确认或更改默认存储引擎,可以通过以下方式进行设置和验证。
查看当前默认存储引擎
登录到 MySQL 命令行后,执行以下命令查看当前默认的存储引擎:
SHOW VARIABLES LIKE ‘storage_engine’;
或者在较新版本中使用:
SHOW VARIABLES LIKE ‘default_storage_engine’;
返回结果会显示当前默认使用的存储引擎,例如 InnoDB 或 MyISAM。
设置默认存储引擎
如果你想更改默认存储引擎,需要修改 MySQL 的配置文件。具体步骤如下:
- 找到 MySQL 配置文件 my.cnf(linux/unix)或 my.ini(windows),通常位于 /etc/my.cnf、/etc/mysql/my.cnf 或 MySQL 安装目录下。
- 在 [mysqld] 段落下添加或修改以下行:
[mysqld]
default-storage-engine = InnoDB
将 InnoDB 替换为你希望设为默认的引擎,如 MyISAM、MEMORY 等(前提是该引擎可用)。
- 保存文件并重启 MySQL 服务使更改生效:
sudo systemctl restart mysql
(具体命令根据操作系统和服务管理方式可能不同)
验证更改是否生效
重启服务后,重新登录 MySQL,再次运行:
SHOW VARIABLES LIKE ‘default_storage_engine’;
确认返回值已更新为你设置的存储引擎。
创建表时的注意事项
即使设置了默认存储引擎,建表语句中如果显式指定了 ENGINE,将优先使用指定的引擎。例如:
CREATE table t (id int) ENGINE=MyISAM;
这条语句会强制使用 MyISAM,不受默认设置影响。因此,在批量建表或使用脚本时,建议检查是否有显式的 ENGINE 定义。
基本上就这些。只要修改配置文件并重启服务,就能持久化设置默认存储引擎。确保选择适合你应用场景的引擎——大多数情况下推荐使用 InnoDB,因其支持事务、外键和崩溃恢复。