MySQL 8.0数据字典有什么变化

以下文章转载自叶老师文章,正文如下:


1. MySQL 8.0数据字典有什么变化

从MySQL 8.0开始,采用独立表空间模式的每个InnoDB表只有一个 .ibd 表空间文件,而不再有 .frm 文件了。为了实现DDL的原子性,InnoDB直接把元数据存储在表空间文件中,需要的话,可是使用 ibd2sdi
工具从中读取,例如:

$ ibd2sdi test/t1.sdi<br>["ibd2sdi"<br>,<br>{<br>        "type": 1,<br>        "id": 1268,<br>        "object":<br>                {<br>    "mysqld_version_id": 80031,<br>    "dd_version": 80023,<br>    "sdi_version": 80019,<br>    "dd_object_type": "Table",<br>...<br>{<br>        "type": 2,<br>        "id": 29,<br>        "object":<br>                {<br>    "mysqld_version_id": 80031,<br>    "dd_version": 80023,<br>    "sdi_version": 80019,<br>    "dd_object_type": "Tablespace",<br>    "dd_object": {<br>        "name": "test/t1",<br>        "comment": "",<br>        "options": "autoextend_size=0;encryption=N;",<br>        "se_private_data": "flags=16417;id=24;server_version=80031;space_version=1;state=normal;",<br>        "engine": "InnoDB",<br>        "engine_attribute": "",<br>        "files": [<br>            {<br>                "ordinal_position": 1,<br>                "filename": "./test/t1.ibd",<br>                "se_private_data": "id=24;"<br>            }<br>        ]<br>    }<br>}<br>}<br>]<br>