中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MySQL中的事務處理和數據備份恢復方法

發布時間:2021-09-16 16:26:11 來源:億速云 閱讀:101 作者:chen 欄目:MySQL數據庫

這篇文章主要講解了“MySQL中的事務處理和數據備份恢復方法”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“MySQL中的事務處理和數據備份恢復方法”吧!

目錄:
1、事務
2、備份和還原

1、事務:

轉賬:  A賬戶   轉100–》B賬戶
sql:
1、A賬戶-100;
2、B賬戶+100;
如果1和2都完成了,那么我們說這樣轉賬過程就完成。

一旦1和2兩個步驟,有一步沒有完成,那么我們說轉成失敗!

怎么辦?
要把已經完成的那部分,回滾(撤銷),消除影響。

在mysql中,有沒有這樣的功能呢?
答案是有!!! 用事務!

事務一組sql的集合,要么全部都執行成功,要么全部都不執行(已經執行的sql要回滾),把狀態退回到sql執行之前。

語法:
開啟事務:
start transaction;
把sql的執行結果暫存。

提交:
commit 
如果所有的sql都執行成功,則提交。將sql的執行結果 持久化 到數據庫中

回滾:
rollback
如果有執行失敗的sql,則需要回滾。將狀態退回到事務開始之前。

持久化:將數據寫入到數據庫中。

無論 commit還是rollback,都會關閉事務。(需要使用事務,還要再開啟)

事務,在沒有commit之前,是沒有持久化到數據的。所以,其他連接是看不到數據變化的。事務,只針對當前的鏈接生效。                                                                                                      

MySQL中的事務處理和數據備份恢復方法然而另外的連接中,看不到數據更新。

MySQL中的事務處理和數據備份恢復方法












rollback后,之前的sql產生的影響,都被消除。
MySQL中的事務處理和數據備份恢復方法

之前沒有用事務的時候,單條sql,一執行,馬上會持久化到數據庫。
為什么:
大家想一下,開啟了事務,我們提交后才能持久化到數據庫。也就說,沒有用過事務的時候,提交是自動的。

自動提交能不能關閉呢?
可以!!!
我們只要把自動提交的變量設置成0(把自動提交關閉)
set autocommit = 0

這個時候,不用開啟事務,每次都要手動提交,才能持久化到數據庫。
注意:commit后,不能自動關閉。
記得要set autocommit=1 開啟自動提交

注意:事務和外鍵一樣,只能在存儲引擎為innodb時才能使用。














2、數據的備份和還原
         1. 簡單的數據備份(單表備份)
通過select語句,將查詢數據,寫入到一個文件中,存儲起來。
格式:
select 字段列表 into outfile “文件路徑” from 表名;

如:
SQL> select * into outfile 'D:/wamp/www/php1510/0113/bak.sql' from goods;

此時,文件bak.sql中寫入了應該在屏幕上顯示的數據,每個字段用制表符分隔,每行用換行符。但是,可以定義。字段之間用,來分隔。
如:
SQL> select * into outfile 'D:/wamp/www/php1510/0113/bak2.sql' fields terminated by "," lines terminated by '\r\n' from goods;

簡單備份的還原:(亂碼問題)
# load data infile “D:/wamp/www/php1510/0113/bak.sql” into table copy_goods

2. 用數據導出工具,mysqldump  到出的是sql語句。
在D:\wamp\bin\mysql\mysql5.5.24\bin下面有個mysqldump.exe的工具。這個不是sql,在cmd中使用。

格式:
mysqldump 數據庫服務器地址 端口 用戶名 密碼 -B 庫名 > 備份文件
如果有-B,則sql中有創建庫的sql語句

箭頭:>   輸出重定向

備份一個庫:
# mysqldump -hlocalhost -P3306 -uroot -p zm0109 > D:/wamp/www/php1510/0113/zm0109.sql

備份庫下的某些表:
格式:
mysqldump 數據庫服務器地址 端口 用戶名 密碼 -B 庫名  表名 > 備份文件
# mysqldump -hlocalhost -P3306 -uroot -p zm0109 goods student > D:/wamp/www/php1510/0113/zm01093.sql

還原數據:
1.在登錄mysql客戶端的情況下進行還原:
source sql文件
SQL> source D:/wamp/www/php1510/0113/zm01093.sql

2、在未登錄mysql客戶端的情況下進行還原:
# mysql -uroot -p zm3 <d: wamp="" www="" php1510="" 0113="" zm01093.sql 箭頭:<  輸入重定向

感謝各位的閱讀,以上就是“MySQL中的事務處理和數據備份恢復方法”的內容了,經過本文的學習后,相信大家對MySQL中的事務處理和數據備份恢復方法這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

万荣县| 交口县| 长丰县| 玉龙| 锦屏县| 伊川县| 原阳县| 安吉县| 察哈| 西林县| 五台县| 神农架林区| 剑阁县| 商丘市| 崇州市| 峡江县| 六盘水市| 吴桥县| 乳山市| 沈丘县| 德昌县| 大城县| 阜平县| 卓尼县| 吐鲁番市| 特克斯县| 温宿县| 宜章县| 杨浦区| 太原市| 青神县| 利辛县| 台东县| 岳池县| 隆化县| 雅江县| 荥阳市| 曲麻莱县| 仁寿县| 明星| 菏泽市|