MySQL8 数据字典

在之前的版本中元数据信息是放在元文件及非事务引擎中的,frm及myisam中,这种存放方式会导致很多的问题,很容易出现不一致的情况,在8.0开始将元数据的信息放到了事务表中。好处如下:
1集中化的管理
2事务的,崩溃安全的
3字典對象的統一和集中緩存
4原子ddl
数据字典表是被保护的,只能在debug下访问,但是可以通过information_schema和show语句查看数据字典表中的数据。
去除掉了frm,par,trn,trg,isl, db.opt文件
数据字典的缓存是一个共享的全局缓存。不同类型对象的缓存放在了不同的内存中,有下面的:
tablespace definition cache partition:
schema definition cache partition
table definition cache partition
stored program definition cache partition
character set definition cache partition
collation definition cache partition
每个区域都是由相关的*_definition_cache定义
之前的information_schema下的表定义都修改成了基于数据字典的视图。

跟之前存放方式下的不同:
1不支持mkdir创建库
2ddl操作的时间变长,
3inndb_read_only参数设置的影响范围变大,不只是影响innodb存储引擎,任何涉及元数据变更的命令都受影响。
4mysql下数据字典表不能被直接查询,但是可以在information_schema下查询到
58开始统计信息有缓存了,要想获取最近的统计信息,需要设置information_schema_stats_expiry=0
6对于mysqldump来说,影响还是比较多,主要是mysql表的导出,现在只能导出非数据字典表。

查看原子ddl的操作日志。
1SET GLOBAL innodb_print_ddl_logs=1;
2在标准输出中查看结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值