如何设置 MySQL 数据库默认使用 MyISAM?

mysqlmysqli database更新于 2025/5/23 4:28:17

要设置默认存储引擎,请使用以下语法 −

set @@default_storage_engine = ’yourEngineType’;

现在执行上述语法将默认引擎设置为 MyISAM。查询如下 −

mysql> set @@default_storage_engine = 'MyISAM';
Query OK, 0 rows impacted (0.05 sec)

现在您可以借助 SELECT 语句检查默认引擎类型。查询如下 −

mysql> select @@default_storage_engine;

以下是显示引擎为 MyISAM 的输出−

+--------------------------+
| @@default_storage_engine |
+--------------------------+
| MyISAM                   |
+--------------------------+
1 row in set (0.00 sec)

现在创建一个表并检查默认引擎 MyISAM。

让我们创建一个表。创建表的查询如下 −

mysql> create table Followers
   -> (
   -> FollowerId int,
   -> FollowerName varchar(20)
   -> );
Query OK, 0 rows affected (0.32 sec)

让我们借助 SHOW TABLE 命令检查上表的默认引擎类型。查询如下 −

mysql> SHOW TABLE STATUS WHERE Name = 'Followers'\G

输出

Name: followers
Engine: MyISAM
Version: 10
Row_format: Dynamic
Rows: 0
Avg_row_length: 0
Data_length: 0
Max_data_length: 281474976710655
Index_length: 1024
Data_free: 0
Auto_increment: 1
Create_time: 2019 - 02 - 12 00: 42: 27
Update_time: 2019 - 02 - 12 00: 42: 28
Check_time: NULL
Collation: utf8_general_ci
Checksum: NULL
Create_options:
Comment:
1 row in set(0.00 sec)

在 MySQL 版本 8.0.12 中,默认引擎是 InnoDB,但我们已将其更改为仅适用于会话的 MyISAM。如果重新启动 MySQL,则存储引擎将处于默认的 MySQL 模式,即 InnoDB。让我们重新启动 MySQL。查询如下 −

mysql> restart;
Query OK, 0 rows affected (0.20 sec)

现在再次检查默认引擎类型。现在应该是 InnoDB −

mysql> select @@default_storage_engine;
No connection. Trying to reconnect...
Connection id: 8
Current database: sample
+--------------------------+
| @@default_storage_engine |
+--------------------------+
| InnoDB                   |
+--------------------------+
1 row in set (0.00 sec)

相关文章


有用资源