Mysql默认存储引擎

此内容为转载,原版:https://blog.youkuaiyun.com/jswangchang/article/details/79419573

Mysql在V5.1之前默认存储引擎是MyISAM;在此之后默认存储引擎是InnoDB

查看默认存储引擎

查看当前mysql默认引擎: show variables like ‘%engine%’;

mysql> show variables like '%engine%';
+----------------------------------+--------+
| Variable_name                    | Value  |
+----------------------------------+--------+
| default_storage_engine           | InnoDB |
| default_tmp_storage_engine       | InnoDB |
| disabled_storage_engines         |        |
| internal_tmp_disk_storage_engine | InnoDB |
+----------------------------------+--------+
4 rows in set (0.00 sec)

查看mysql支持哪些引擎:show engines;

Engine是引擎名字,

Support 显示Innodb是DEFAULT默认的;

Commnet是简单描述

Transactions: 是否支持事物

mysql> show engines;
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| Engine             | Support | Comment                                                        | Transactions | XA   | Savepoints |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| CSV                | YES     | CSV storage engine                                             | NO           | NO   | NO         |
| MRG_MYISAM         | YES     | Collection of identical MyISAM tables                          | NO           | NO   | NO         |
| MyISAM             | YES     | MyISAM storage engine                                          | NO           | NO   | NO         |
| BLACKHOLE          | YES     | /dev/null storage engine (anything you write to it disappears) | NO           | NO   | NO         |
| PERFORMANCE_SCHEMA | YES     | Performance Schema                                             | NO           | NO   | NO         |
| MEMORY             | YES     | Hash based, stored in memory, useful for temporary tables      | NO           | NO   | NO         |
| ARCHIVE            | YES     | Archive storage engine                                         | NO           | NO   | NO         |
| InnoDB             | DEFAULT | Supports transactions, row-level locking, and foreign keys     | YES          | YES  | YES        |
| FEDERATED          | NO      | Federated MySQL storage engine                                 | NULL         | NULL | NULL       |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
9 rows in set (0.00 sec)

修改默认存储引擎

如果修改本次会话的默认存储引擎(重启后失效),只对本会话有效,其他会话无效:

mysql> set default_storage_engine=innodb;
Query OK, 0 rows affected (0.00 sec)

修改全局会话默认存储引擎(重启后失效),对所有会话有效

mysql> set global default_storage_engine=innodb;
Query OK, 0 rows affected (0.00 sec)

希望重启后也有效,即编辑/etc/my.cnf,[mysqld]下面任意位置添加配置;(所有对配置文件的修改,重启后生效)

default-storage-engine = InnoDB

### 如何在 Navicat 中查看 MySQL默认存储引擎 要在 Navicat 中查看 MySQL 数据库的默认存储引擎,可以通过以下方法实现: #### 方法一:通过 SQL 命令查询 可以直接在 Navicat 的查询编辑器中执行 `SHOW VARIABLES` 命令来获取当前数据库实例的默认存储引擎配置。 ```sql SHOW VARIABLES LIKE 'default_storage_engine'; ``` 上述命令返回的结果将显示当前 MySQL 实例的默认存储引擎[^3]。 #### 方法二:通过 SHOW ENGINES 命令 同样可以在 Navicat 的查询编辑器中运行以下命令: ```sql SHOW ENGINES; ``` 此命令会列出所有可用的存储引擎及其状态信息。其中,“Support” 列标明了各个存储引擎的支持情况(YES/NO/DISABLED)。默认存储引擎通常会在结果中标记为 “DEFAULT”[^3]。 #### 方法三:通过 Navicat 图形化界面 1. **连接到 MySQL 服务器**:启动 Navicat 并建立与目标 MySQL 服务器的连接。 2. **浏览数据库对象**:在左侧导航栏中展开对应的数据库节点。 3. **检查表属性**:右键单击任意一张表并选择“属性”。在弹出的窗口中可以看到该表使用的存储引擎。如果需要确认默认存储引擎,则可以观察新创建表的存储引擎设置,默认情况下它们会继承全局默认值[^2]。 #### 方法四:验证新建表的默认行为 为了进一步验证系统的默认存储引擎,还可以尝试手动创建一个新的空白表而不显式指定 ENGINE 参数。例如: ```sql CREATE TABLE test_default_engine ( id INT PRIMARY KEY, name VARCHAR(50) ); ``` 之后再次使用 `SHOW CREATE TABLE` 来检查实际分配给它的存储引擎是什么: ```sql SHOW CREATE TABLE test_default_engine; ``` --- ### 总结 以上四种方式均可帮助用户快速了解 MySQL 当前环境下的默认存储引擎设定。推荐优先选用 SQL 查询的方法,因为它不仅简单直观,还能够适用于远程管理和自动化脚本场景下[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值