導航:首頁 > 程序命令 > 能實現事務回滾的命令詞是

能實現事務回滾的命令詞是

發布時間:2024-10-09 18:05:23

❶ mysql 能否設置DDL語句 可以回滾

MySQL8.0 開始支持原⼦ DDL(atomic DDL),數據字典的更新,存儲引擎操作,寫⼆進制日誌結合成了一個事務。在沒有原⼦DDL之前,DROP TABLE test1,test2;如遇到server crash,可能會有test1被drop了,test2沒有被drop掉。下面來看下在MySQL8.0之前和MySQL8.0 數據字典的區別

在MySQL8.0 之前,Data Dictionary除了存在與.FRM, .TRG, .OPT ⽂件外,還存在於系統表中(MyISAM ⾮事務引擎表中),在MySQL8.0 ,Data Dictionary 全部存在於Data Dictionary Storage Engine(即 InnoDB表中),這使crash recovery 維持原⼦性成為了可能


存儲引擎⽀持

目前,只有InnoDB存儲引擎⽀持原子DDL,為了實現原子DDL,Innodb要寫DDL logs 到 mysql.innodb_ddl_log 表,這是⼀個隱藏在mysql.ibd 數據字典表空間⾥的數據字典表。要看mysql.innodb_ddl_log 中的內容,需要

SET GLOBALLOG_ERROR_VERBOSITY=3;(MySQL 8.0 默認為2,error log 記錄Errors and

warnings,不不記錄notes)

SET GLOBAL innodb_print_ddl_logs=1;

CREATE TABLEt1 (c1 INT)ENGINE=InnoDB;

查看error log

[Note] [MY-011066] InnoDB: DDL loginsert: [DDLrecord:DELETE SPACE,id=30,

thread_id=25, space_id=9, old_file_path=./test/t1.ibd]

[Note] [MY-011066]InnoDB:DDL logdelete:by id30

[Note] [MY-011066]InnoDB:DDL loginsert: [DDLrecord: REMOVECACHE,id=31,

thread_id=25, table_id=1066, new_file_path=test/t1]

[Note] [MY-011066]InnoDB:DDL logdelete:by id31

[Note] [MY-011066]InnoDB:DDL loginsert: [DDLrecord: FREE,id=32, thread_

id=25, space_id=9, index_id=143, page_no=4]

[Note] [MY-011066]InnoDB:DDL log delete:by id32

[Note] [MY-011066]InnoDB:DDL logpost ddl :begin for thread id: 25

[Note] [MY-011066]InnoDB:DDL logpost ddl :end for thread id: 25


原子DDL 操作步驟

閱讀全文

與能實現事務回滾的命令詞是相關的資料

熱點內容
解壓機壓什麼不爛 瀏覽:372
大牛盒子插件文件夾 瀏覽:13
用友t3如何遠程連接伺服器 瀏覽:744
保時捷行車記錄儀需要什麼app 瀏覽:718
文件伺服器中的DFS全名是什麼 瀏覽:463
365小說app現在叫什麼 瀏覽:56
海貝音樂app的獨佔usb輸出是什麼 瀏覽:402
宏觀經濟學高鴻業pdf 瀏覽:298
我的榮耀9x有方舟編譯器嗎 瀏覽:975
linux父子進程通信 瀏覽:889
程序員為什麼總是用手機 瀏覽:310
安卓9程序怎麼用 瀏覽:847
如何恢復編譯 瀏覽:853
mybatispdf 瀏覽:881
plc使用的是單片機嗎 瀏覽:816
如何讓安卓平板音量上限 瀏覽:237
代理伺服器請求超時如何設置 瀏覽:119
pdf批量蓋章 瀏覽:782
珠江寬頻網關伺服器地址 瀏覽:711
程序員練打字網站 瀏覽:580