3-1-5 MySQL基礎-事務機制與資料匯入匯出
阿新 • • 發佈:2020-09-20
事務機制
如果資料的寫入直接操作資料檔案是非常危險的事情,所以MySQL利用日誌來間接寫入.
MySQL總共5種日誌,其中只有redo和undo日誌與事務有關
什麼是事務
事務是一個或多個SQL語句組成的整體,要麼全部執行成功,要麼全部執行失敗
RDBMS = SQL語句 + 事務(ACID)
管理事務
預設情況下,MySQL執行每條SQL都會自動開啟和提交事務.
為了讓多條SQL納入到一個事務下,可以手動管理事務.
START TRANSACTION;
SQL語句
[COMMIT][ROLLBACK];
事務的ACID屬性
原子性:一個事務中的所有操作,要麼全部成功,要麼全部失敗.
一致性:一個事務執行結果必須保持一致.事務可以併發執行,但最終Mysql卻序列執行.
隔離性:事務要求不受其他併發事務的影響,如果給定時間內,該事務是資料庫唯一執行的事務.
永續性:事務一旦提交,結果便是永久性的,即使傳送宕機依然可以靠事務日誌完成詩句持久化
事務的隔離級別
read uncommitted 讀取未提交資料
read committed 讀取已提交資料
repeatable 重複讀取,得到的結果是一致的,不會受其他事務影響
serializable 序列化,讓事務序列執行,就不會產生上述問題了
資料匯入匯出
資料匯出與備份的區別
1.資料匯出,匯出的是純粹的業務資料
2.資料備份,備份的是資料檔案,日誌檔案,索引檔案等等
匯出SQL檔案
mysqldunmp用來把業務資料匯出成SQL檔案,其中也包括表結構
mysqldump -uroot -p [no-data] 邏輯庫 > 路徑
如果業務資料特別多,建議只匯出表結構,然後用SELCT INTO OUTFILE把資料匯出成文字文件
匯入SQL檔案
source命令用於匯入SQL檔案,包括建立資料表,寫入記錄等.
1 USE demo; 2 SOURCE backup.sql