官术网_书友最值得收藏!

4.5 MySQL 8.0的新特性——DDL的原子化

在MySQL 8.0版本中,InnoDB表的DDL支持事務完整性,即DDL操作要么成功,要么回滾。DDL操作回滾日志寫入data dictionary數據字典表mysql.innodb_ddl_log中用于回滾操作,該表是隱藏的表,通過show tables無法看到。通過設置參數可將DDL操作日志打印輸出到MySQL錯誤日志中。

下面通過案例來對比不同的版本中DDL操作的區別。

分別在MySQL 5.7版本和MySQL 8.0版本中創建數據庫和數據表,結果如下:

在MySQL 5.7版本中,測試步驟如下:

刪除數據表bk1和數據表bk2,結果如下:

再次查詢數據庫中數據表的名稱,結果如下:

從結果可以看出,雖然執行刪除操作時報錯了,但是仍然刪除了數據表bk1。

在MySQL 8.0版本中,測試步驟如下:

(1)刪除數據表bk1和數據表bk2,結果如下:

(2)再次查詢數據庫中數據表的名稱,結果如下:

(3)從結果可以看出,數據表bk1并沒有被刪除。

主站蜘蛛池模板: 六枝特区| 三都| 泸水县| 东阳市| 富源县| 大厂| 于都县| 理塘县| 塔城市| 涿鹿县| 滁州市| 南丹县| 秦安县| 夏河县| 罗定市| 临沧市| 布拖县| 阿坝县| 开江县| 松潘县| 金阳县| 南城县| 池州市| 汉阴县| 巧家县| 惠东县| 永城市| 克山县| 景洪市| 且末县| 惠州市| 板桥市| 石棉县| 桓仁| 新安县| 临海市| 弋阳县| 景洪市| 澳门| 伽师县| 文昌市|