MYSQL8的存储引擎
MYSQL存储引擎概念
MYSQL存储引擎分类
MyISAM
:Mysql5.5之前的默认数据库引擎,最为常用。拥有较高的插入,查询速度,但不支持事务
。InnoDB
:事务型速记的首选引擎,支持ACID事物,支持行级锁定,MySQL5.5及之后成为默认MYSQL数据库引擎。
MYSQL存储引擎常用操作
查看当前数据库支持的存储引擎
-- 查看当前数据库支持的存储引擎
SHOW ENGINES;
查看当前的默认存储引擎
-- 查看当前的默认存储引擎:
SHOW variables like '%storage_engine%';
查看指定数据表使用的什么引擎
-- 查看指定数据表使用的什么引擎
show CREATE TABLE 表名;
-- 在显示结果里参数engine后面的就表示改表当前用的存储引擎
创建新表时指定存储引擎
-- 创建新表时指定存储引擎
-- ENGINE=MyISAM表示指定MyISAM
CREATE TABLE(......) ENGINE=MyISAM;
修改指定表的数据库引擎
-- 修改指定表的数据库引擎
-- 修改表的数据库引擎为InnoDB
ALTER TABLE 表名 ENGINE=InnoDB;
-- 修改表的数据库引擎为MyISAM
ALTER TABLE 表名 ENGINE=MyISAM;
修改数据库默认引擎
MySQL8
的默认存储引擎
是InnoDB
。
修改Mysql5
配置文件/etc/my.cnf
[mysqld]
# 设置MySQL的默认存储引擎为MYISAM
default-storage-engine=MYISAM
修改完需要重启mysqld
服务
# 重启mysqld服务
systemctl restart mysqld
实例
在MySQL8
中,InnoDB
存储引擎默认启用了doublewrite机制
。这是一种安全措施
,用于在将数据页
写入磁盘之前在内存中进行备份
。
当一个事务
提交时,InnoDB
会将更改写入缓冲池
,然后将它们写入磁盘
。在此过程中,InnoDB使用doublewrite缓冲区
来写入更改的备份。如果数据库崩溃或在写入期间发生错误,InnoDB可以使用doublewrite缓冲区
中的备份来还原数据页
,从而防止数据损坏
。因此,InnoDB_doublewrite变量
是用于控制是否启用此策略
的参数。
-- 查看innodb_doublewrite变量值
show variables like '%innodb_doublewrite%';