當前位置:首頁 » 編程語言 » mysql中哪些語句可以回退
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

mysql中哪些語句可以回退

發布時間: 2023-02-23 20:11:22

A. mysql哪些語句可以回退

開啟事物就可以回退。這種要手動提交(commit)才能修改數據。

B. 在mysql中,可以使用什麼語句來實現許可權的撤銷

有兩種方法,一種方法使用mysql的checktable和repairtable的sql語句,另一種方法是使用MySQL提供的多個myisamchk,isamchk數據檢測恢復工具。前者使用起來比較簡便。推薦使用。1.checktable和repairtable登陸mysql終端:mysql-uxxxxx-pdbnamechecktabletabTest;如果出現的結果說Status是OK,則不用修復,如果有Error,可以用:repairtabletabTest;進行修復,修復之後可以在用checktable命令來進行檢查。在新版本的phpMyAdmin裡面也可以使用check/repair的功能。2.myisamchk,isamchk其中myisamchk適用於MYISAM類型的數據表,而isamchk適用於ISAM類型的數據表。這兩條命令的主要參數相同,一般新的系統都使用MYISAM作為預設的數據表類型,這里以myisamchk為例子進行說明。當發現某個數據表出現問題時可以使用:myisamchktablename.MYI進行檢測,如果需要修復的話,可以使用:myisamchk-oftablename.MYI關於myisamchk的詳細參數說明,可以參見它的使用幫助。需要注意的時在進行修改時必須確保MySQL伺服器沒有訪問這個數據表,保險的情況下是最好在進行檢測時把MySQL伺服器Shutdown掉。-----------------------------另外可以把下面的命令放在你的rc.local裡面啟動MySQL伺服器前:[-x/tmp/mysql.sock]&&/pathtochk/myisamchk-of/DATA_DIR/*/*.MYI其中的/tmp/mysql.sock是MySQL監聽的Sock文件位置,對於使用RPM安裝的用戶應該是/var/lib/mysql/mysql.sock,對於使用源碼安裝則是/tmp/mysql.sock可以根據自己的實際情況進行變更,而pathtochk則是myisamchk所在的位置,DATA_DIR是你的MySQL資料庫存放的位置。需要注意的時,如果你打算把這條命令放在你的rc.local裡面,必須確認在執行這條指令時MySQL伺服器必須沒有啟動!檢測修復所有資料庫(表)

C. mysql語句寫錯了怎麼回退

直接輸入; 然後回車

或者輸入 \c 然後回車

D. mysql如何快速回滾

我們經常會遇到操作一張大表,發現操作時間過長或影響在線業務了,想要回退大表操作的場景。在我們停止大表操作之後,等待回滾是一個很漫長的過程,盡管你可能對知道一些縮短時間的方法,處於對生產環境數據完整性的敬畏,也會選擇不做介入。最終選擇不作為的原因大多源於對操作影響的不確定性。實踐出真知,下面針對兩種主要提升事務回滾速度的方式進行驗證,一種是提升操作可用內存空間,一種是通過停實例,禁用 redo 回滾方式進行進行驗證。

仔細閱讀過官方手冊的同學,一定留意到了對於提升大事務回滾效率,官方提供了兩種方法:一是增加 innodb_buffer_pool_size 參數大小,二是合理利用 innodb_force_recovery=3 參數,跳過事務回滾過程。第一種方式比較溫和,innodb_buffer_pool_size 參數是可以動態調整的,可行性也較高。第二種方式相較之下較暴力,但效果較好。
兩種方式各有自己的優點,第一種方式對線上業務系統影響較小,不會中斷在線業務。第二種方式效果更顯著,會短暫影響業務連續,回滾所有沒有提交的事務。

E. mysql關於事物的常識

1. 如何安裝MySQL事務資料庫
MySQL資料庫分二種類型,一種是傳統的數據表格式,一種是支持事務處理的數據表格式(InnoDB,BDB,其中以InnoDB為主),下面我介紹一下關於MySQL事務處理資料庫的安裝及使用方法 你先要去下載一下Mysql max版的安裝程序,下載地址: 按常規的方法進行安裝 安裝完成後,啟動mysqlbinWinMySQLadmin 再退出 運行 mysqlbinmydqld-nt --remove mysqlbinmysqld-max-nt --install 以上二行是去掉不支持事務處理的mysql服務,改成支持mysql事務處理的服務 然後在c:下建一個ibdata目錄及iblogs目錄,當然名字可以不一樣,記住這二個名字及盤符,以後要用到,你也可以不建在C盤,然後,打開c:winnt或c:windows目錄下的my。

ini,在最後添加:[code] innodb_data_file_path = ibdata1:2000M;ibdata2:2000M innodb_data_home_dir = c:ibdata set-variable = innodb_mirrored_log_groups=1 innodb_log_group_home_dir = c:iblogs set-variable = innodb_log_files_in_group=3 set-variable = innodb_log_file_size=30M set-variable = innodb_log_buffer_size=8M innodb_flush_log_at_trx_mit=1 innodb_log_arch_dir = c:iblogs innodb_log_archive=0 set-variable = innodb_buffer_pool_size=80M set-variable = innodb_additional_mem_pool_size=10M set-variable = innodb_file_io_threads=4 set-variable = innodb_lock_wait_timeout=50 [/code] 其中 innodb_data_file_path = ibdata1:2000M;ibdata2:2000M 這一行中的2000M可以自己改成200m,看你盤的容量大小,mysql推薦10G及以上的硬碟空間最好用這樣的設置; 以下這一行 innodb_data_home_dir = c:ibdata 也可以改成你自己起的目錄,主要是看你自己在剛才建的目錄在哪裡啦 按照以上的方法,你已經安裝好了mysql的事務資料庫,不過你要是按照mysql手冊上的方法安裝,把上面的一段配製放到my。 f是去的話,可是會出錯哦 好了,現在讓我們試試看是不是安裝完成了,啟動apache,或iis,在服務里啟動mysql的服務,打開myadmin,輸入:SHOW variables like "have_%" 你要是看到下面的結果,那說明你安裝成功了。
2. Windows下MySQL策略有哪些
本次活動將重點關注世界上最流行的開源資料庫最新版本MySQL 5。

5,其在Windows上運行時能提供高達1500%的性能優勢。 此次活動還將詳細介紹,利用全新升級的MySQL企業版,Oracle如何超過Microsoft SQL Server,節省高達90%總體擁有成本,該企業版目前包括了建模、開發、監測、管理和基於Windows 的MySQL應用程序備份等的一整套可視化工具。

論壇將詳細介紹對Windows用戶和獨立軟體開發商的益處 利用在Windows平台上運行的MySQL企業版,甲骨文使客戶能夠大幅降低其在開發網路應用、部門級的應用和嵌入式應用軟體的總體擁有成本。同時,藉助甲骨文公司世界一流的24x7全天候服務支持,客戶能實現更高的MySQL性能,跨平台的靈活性和提高管理。

首屆MySQL on Windows在線論壇將闡述: 為什麼MySQL on Windows既受企業用戶也受嵌入式獨立軟體供應商的熱烈歡迎。 MySQL為什麼非常適合Windows環境,未來將會有什麼樣的里程碑以實現MySQL在Microsoft平台上更好運行。

哪些可視化工具可用來有效地開發、部署和管理MySQL on Windows的應用程序。 如何推出基於Windows平台上的MySQL高可用關鍵業務應用程序。

安全解決方案供應商SonicWall公司為何選擇MySQL而沒有選擇Microsoft SQL Server,以及他們如何成功地提供基於MySQL的解決方案。 甲骨文公司工程設計副總裁Tomas Ulin表示:「通過選擇MySQL on Windows,客戶能極大地降低成本和提高對跨平台的支持。

甲骨文已經推出了MySQL 5。5 和 MySQL 企業版的主要增強功能,這些功能將為客戶帶來巨大的益處。

對於正在創建和部署關鍵網路業務和嵌入式應用軟體的獨立軟體開發商和企業用戶來說,MySQL是替代Microsoft SQL Server的一個極具吸引力的選擇。」 SonicWall產品管理總監Jan Sijp說:「把MySQL嵌入到我們的安全產品中已被證明是明智選擇,通過與我們的自身專業相結合,MySQL能夠幫助我們為客戶提供高度可靠的關鍵解決方案,客戶將能從集成、方便使用的解決方案中受益,而不必安裝一個單獨的資料庫。

除了為客戶減少復雜度之外,我們也降低了內部開發、測試和支持的成本。」。
3. MYsql和sql到底是不是一個東西
MYsql和sql不同,為了表達的更科學更准確,我介紹你看比較權威的文章,大家一起學習,聲明,下面不是我的作品,請注意尊重版權。

文章來源:資料庫聯盟網 發布時間:2005-03-25 07:30:55 對於程序開發人員而言,目前使用最流行的兩種後台資料庫即為MySQL and SQL Server。 這兩者最基本的相似之處在於數據存儲和屬於查詢系統。

你可以使用SQL來訪問這兩種資料庫的數據,因為它們都支持ANSI-SQL。還有,這兩種資料庫系統都支持二進制關鍵詞和關鍵索引,這就大大地加快了查詢速度。

同時,二者也都提供支持XML的各種格式。 除了在顯而易見的軟體價格上的區別之外,這兩個產品還有什麼明顯的區別嗎?在這二者之間你是如何選擇的?讓我們看看這兩個產品的主要的不同之處,包括發行費用,性能以及它們的安全性。

根本的區別是它們遵循的基本原則 二者所遵循的基本原則是它們的主要區別:開放vs保守。 SQL伺服器的狹隘的,保守的存儲引擎與MySQL伺服器的可擴展,開放的存儲引擎絕然不同。

雖然你可以使用SQL伺服器的Sybase引擎,但MySQL能夠提供更多種的選擇,如MyISAM, Heap, InnoDB, and Berkeley DB。 MySQL不完全支持陌生的關鍵詞,所以它比SQL伺服器要少一些相關的資料庫。

同時,MySQL也缺乏一些存儲程序的功能,比如MyISAM引擎聯支持交換功能。 發行費用:MySQL不全是免費,但很便宜 當提及發行的費用,這兩個產品採用兩種絕然不同的決策。

對於SQL伺服器,獲取一個免費的開發費用最常的方式是購買微軟的Office或者Visual Studio的費用。但是,如果你想用於商業產品的開發,你必須還要購買SQL Server Standard Edition。

學校或非贏利的企業可以不考慮這一附加的費用。 性能:先進的MySQL 純粹就性能而言,MySQL是相當出色的,因為它包含一個預設桌面格式MyISAM。

MyISAM 資料庫與磁碟非常地兼容而不佔用過多的CPU和內存。MySQL可以運行於Windows系統而不會發生沖突,在UNIX或類似UNIX系統上運行則更好。

你還可以通過使用64位處理器來獲取額外的一些性能。因為MySQL在內部里很多時候都使用64位的整數處理。

Yahoo!商業網站就使用MySQL作為後台資料庫。 當提及軟體的性能,SQL伺服器的穩定性要比它的競爭對手強很多。

但是,這些特性也要付出代價的。 比如,必須增加額外復雜操作,磁碟存儲,內存損耗等等。

如果你的硬體和軟體不能充分支持SQL伺服器,我建議你最好選擇其他如DBMS資料庫,因為這樣你會得到更好的結果。 安全功能 MySQL有一個用於改變數據的二進制日誌。

因為它是二進制,這一日誌能夠快速地從主機上復制數據到客戶機上。 即使伺服器崩潰,這一二進制日誌也會保持完整,而且復制的部分也不會受到損壞。

在SQL伺服器中,你也可以記錄SQL的有關查詢,但這需要付出很高的代價。 安全性 這兩個產品都有自己完整的安全機制。

只要你遵循這些安全機制,一般程序都不會出現什麼問題。 這兩者都使用預設的IP埠,但是有時候很不幸,這些IP也會被一些黑客闖入。

當然,你也可以自己設置這些IP埠。 恢復性:先進的SQL伺服器 恢復性也是MySQL的一個特點,這主要表現在MyISAM配置中。

這種方式有它固有的缺欠,如果你不慎損壞資料庫,結果可能會導致所有的數據丟失。 然而,對於SQL伺服器而言就表現得很穩鍵。

SQL伺服器能夠時刻監測數據交換點並能夠把資料庫損壞的過程保存下來。 根據需要決定你的選擇 對於這兩種資料庫,如果非要讓我說出到底哪一種更加出色,也許我會讓你失望。

以我的觀點,任一對你的工作有幫助的資料庫都是很好的資料庫,沒有哪一個資料庫是絕對的出色,也沒有哪一個資料庫是絕對的差勁。 我想要告訴你的是你應該多從你自己的需要出發,即你要完成什麼樣的任務?而不要單純地從軟體的功能出發。

如果你想建立一個。伺服器體系,這一體系可以從多個不同平台訪問數據,參與資料庫的管理,那麼你可以選用SQL伺服器。

如果你想建立一個第三方站點,這一站點可以從一些客戶端讀取數據,那麼MySQL將是最好的選擇。 這兩者資料庫都能夠在。

或J2EE下運行正常,同樣,都能夠利用RAID。 。
4. mysql中事務和存儲過程的區別
存儲過程是:

通過一系列的SQL語句, 根據傳入的參數(也可以沒有), 通過簡單的調用,

完成比單個SQL語句更復雜的功能, 存儲在資料庫伺服器端,只需要編譯過一次之後再次使用都不需要再進行編譯。主要對存儲的過程進行控制。

事務是一系列的數據更改操作組成的一個整體。一旦事務中包含的某操作失敗或用戶中止,用戶可以控制將事務體中所有操作撤消,返回事務開始前的狀態。

事務中的操作是一個整體,要麼整體完成,要麼全部不做。從而保證了數據的完整性。

Mysql中,MyISAM存儲引擎不支持事務,InnoDB支持。

兩者都是資料庫中非常重要的知識。
5. 有關資料庫最基本最基礎知識
一 事務處理介紹 事務是這樣一種機制,它確保多個SQL語句被當作單個工作單 元來處理。

事務具有以下的作用: * 一致性:同時進行的查詢和更新彼此不會發生沖突,其他 用戶不會看到發生了變化但尚未提交的數據。 * 可恢復性:一旦系統故障,資料庫會自動地完全恢復未完 成的事務。

二 事務與一致性 事務是完整性的單位,一個事務的執行是把資料庫從一個一 致的狀態轉換成另一個一致的狀態。因此,如果事務孤立執行時 是正確的,但如果多個事務並發交錯地執行,就可能相互干擾, 造成資料庫狀態的不一致。

在多用戶環境中,資料庫必須避免同 時進行的查詢和更新發生沖突。這一點是很重要的,如果正在被 處理的數據能夠在該處理正在運行時被另一用戶的修改所改變, 那麼該處理結果是不明確的。

不加控制的並發存取會產生以下幾種錯誤: 1 丟失修改(lost updates) 當多個事務並發修改一個數據時,不加控制會得出錯誤的結 果,一個修改會覆蓋掉另一個修改。 2 讀的不可重復性 當多個事務按某種時間順序存取若干數據時,如果對並發存 取不加控制,也會產生錯誤。

3 臟讀(DIRDY DATA),讀的不一致性 4 游標帶來的當前值的混亂 事務在執行過程中它在某個表上的當前查找位置是由游標表 示的。游標指向當前正處理的記錄。

當處理完該條記錄後,則指 向下一條記錄。在多個事務並發執行時,某一事務的修改可能產 生負作用,使與這些游標有關的事務出錯。

5 未釋放修改造成連鎖退出 一個事務在進行修改操作的過程中可能會發生故障,這時需 要將已做的修改回退(Rollback)。如果在已進行過或已發現錯 誤尚未復原之前允許其它事務讀已做過修改(臟讀),則會導致 連鎖退出。

6 一事務在對一表更新時,另外的事務卻修改或刪除此表的 定義。 資料庫會為每個事務自動地設置適當級別的鎖定。

對於前面 講述的問題:臟讀、未釋放修改造成的連鎖退出、一事務在對一 表更新時另外的事務卻修改或刪除此表的定義,資料庫都會自動 解決。而另外的三個問題則需要在編程過程中人為地定義事務或 加鎖來解決。

三 事務和恢復 資料庫本身肩負著管理事務的責任。事務是最小的邏輯工作 單元,在這個工作單元中,對資料庫的所有更新工作,要麼必須 全部成功,要麼必須全部失敗(回退)。

只要應用程序指定了某 段程序為一個事務並做了相應的處理(提交或回退),資料庫系 統會自動維護事務本身的特性。 四 ORACLE資料庫的事務定義 ORACLE事務從MIT、ROLLBACK、連接到資料庫或開始第一 條可執行的SQL語句時開始,到一條MIT、ROLLBACK語句或退出 資料庫時結束。

如果在一個事務中包含DDL語句,則在DDL語句的 前後都會隱含地執行MIT語句,從而開始或結束一個事務。 如果一個事務由於某些故障或者由於用戶改變主意而必須在 提交前取消它,則資料庫被恢復到這些語句和過程執行之前的狀 態。

利用ROLLBACK語句可以在MIT命令前隨時撤消或回退一個 事務。可以回退整個事務,也可以會退部分事務,但是不能回退 一個已經被提交的事務。

回退部分事務的ROLLBACK命令為: ROLLBACK to savepoint 存儲點名 存儲點是用戶放入事務中的標記,用來表示一個可被回退的 位置。存儲點通過在事務中放入一個SAVEPOINT命令而 *** 入。

該 命令的語法是: SAVEPOINT 存儲點名 如果在ROLLBACK語句中沒有給出存儲點名,則整個事務被回 退。 五 SYBASE資料庫的事務定義 SYBASE通過使用BEGIN TRANsaction和MIT TRANsaction命令指 示SQL將任意數目的語句作為一個單元來處理。

ROLLBACK TRANsaction 命令則允許用戶恢復到事務的開始,或恢復到事務內部已經被用SAVE TRANsaction命令定義的存儲點上。 BEGIN TRANsaction和MIT TRANsaction能夠包含任意數目的SQL 語句和存儲過程,方法很簡單: BEGIN TRANsaction [事務名稱] MIT TRANsaction 如果一個事務由於某些故障或者由於用戶改變主意而必須在提交 前取消它,則資料庫被恢復到這些語句和過程執行之前的狀態。

利用ROLLBACK TRANsaction命令可以在MIT TRANsaction命令 前隨時回退一個事務。可以回退整個事務,也可以回退部分事務,但 是不能回退一個已經被提交的事務。

ROLLBACK TRANsaction命令為: ROLLBACK TRANsaction [事務名|存儲點名] 存儲點名是用戶放入事務中的標記,用來表示一個可以被回退的 位置。存儲點名通過在事務中放入一個SAVE TRANsaction命令而 *** 入。

該命令的句法是: SAVE TRANsaction 存儲點名 如果在ROLLBACK TRANsaction中沒有給出存儲點名或事務名,則 事務被回退到批處理中的第一個BEGIN TRANsaction語句處。

F. mysql 可以對執行成功的SQL語句進行回滾嗎

mysql命令行下怎樣實現數據的回滾操作
在MySQL有時執行了錯誤的update或者delete時導致大量數據錯誤恢復的辦法。執行時沒有開啟事務,也沒有對數據進行。這時就需要使用到sqlbinlog工具。
sqlbinlog需要開啟,具體的打開方法就不說了。

使用sqlbinlog會產生bin文件,恢復就需要用到這些文件。文件中記錄著資料庫的所有操作。(此方法的操作是將資料庫之前所執行的語句重新執行一次,以達到恢復效果)
具體步驟:1,先找到bin文件,一般都是在mysql的data文件夾中,結尾以.00000X等形式結束。
2,尋找需要還原的時間點 使用語句 mysqlbinlog 文件名 例(MySQLbinlog xxbin.000001)來查看內容,然後找到對應的具體時間
3,導出sql語句,使用語句 mysqlbinlog 文件名>sql文件路徑 例(mysqlbinlog xxxbin,00001>>a.sql | mysql -u root -p )
如果需要指定時間導出--start--date -stop='' --date='' 來導出指定時間執行的語句例(sqlbinlog --start-stop='2015-11-22 10:00:00' xxbin.000001>a.sql | mysql -u root -p )這句意思是導出在2015-11-22 10點之前的語句,反之start是導出時間之後的。 start和stop可以同時使用。
如果存在多個bin文件,則按照需要導出。
4,使用mysql將導出的語句執行一次。

G. 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 操作步驟

  • 准備:創建所需的對象並將DDL⽇志寫入 mysql.innodb_ddl_log表中。DDL日誌定義了如何前滾和回滾DDL操作。

  • 執行:執⾏DDL操作。例如,為CREATE TABLE操作執⾏創建。

  • 提交:更新數據字典並提交數據字典事務。

  • Post-DDL:重播並從mysql.innodb_ddl_log表格中刪除DDL⽇志。為確保回滾可以安全執⾏⽽不引⼊不⼀致性,在此最後階段執⾏⽂件操作(如重命名或刪除數據文件)。這一階段還從 mysql.innodb_dynamic_metadata的數據字典表刪除的動態元數據為了DROP TABLE,TRUNCATE和其它重建表的DDL操作。

  • ⽆論事務是提交還是回滾,DDL日誌都會mysql.innodb_ddl_log在Post-DDL階段重播並從表中刪除 。mysql.innodb_ddl_log如果伺服器在DDL操作期間暫停,DDL⽇志應該只保留在表中。在這種情況下,DDL⽇志會在恢復後重播並刪除。

    在恢復情況下,當伺服器重新啟動時,可能會提交或回退DDL事務。如果在重做⽇志和⼆進制日誌中存在DDL操作的提交階段期間執⾏的數據字典事務,則該操作被認為是成功的並且被前滾。否則,在InnoDB重放數據字典重做日誌時回滾不完整的數據字典事務 ,並且回滾DDL事務。

    原⼦DDL ⽀持類型

    • DROP TABLES , all tables dropped or none

    • DROP SCHEMA, all entities in the schema are dropped, or none

    • Note that atomic DDL statements will be rolled back or committed even in case of crash, e.g. RENAME TABLES

    • CREATE TABLE would be successfully committed or rolled back (no orphan ibd left)

    • TRUNCATE TABLE (including InnoDB tables with FTS AUX tables) would be successfully committed or rolled back

    • RENAME TABLES, all or none

    • ALTER TABLE successful or not done

    示例

    結論

    在MySQL8.0之前,alter table 操作在server crash的情況下,會遺留.frm,.ibd文件。MySQL8.0 能實現原⼦DDL(包括 DROP TABLE, DROP SCHEMA, CREATE TABLE, TRUNCATE TABLE, ALTER TABLE),alter table 操作,在server crash的情況下,不會遺留.frm,.ibd臨時文件。讓我們⼀起期待MySQL8.0 GA的到來吧!