国产成人精品18p,天天干成人网,无码专区狠狠躁天天躁,美女脱精光隐私扒开免费观看

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

發(fā)布時(shí)間:2021-09-27 17:43 來(lái)源:億速云 閱讀:0 作者:chen 欄目: Mysql 歡迎投稿:712375056

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

目錄:
1、事務(wù)
2、備份和還原

1、事務(wù):

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

一旦1和2兩個(gè)步驟,有一步?jīng)]有完成,那么我們說(shuō)轉成失??!

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

在mysql中,有沒(méi)有這樣的功能呢?
答案是有?。?! 用事務(wù)!

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

語(yǔ)法:
開(kāi)啟事務(wù):
start transaction;
把sql的執行結果暫存。

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

回滾:
rollback
如果有執行失敗的sql,則需要回滾。將狀態(tài)退回到事務(wù)開(kāi)始之前。

持久化:將數據寫(xiě)入到數據庫中。

無(wú)論 commit還是rollback,都會(huì )關(guān)閉事務(wù)。(需要使用事務(wù),還要再開(kāi)啟)

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

然而另外的連接中,看不到數據更新。














rollback后,之前的sql產(chǎn)生的影響,都被消除。

之前沒(méi)有用事務(wù)的時(shí)候,單條sql,一執行,馬上會(huì )持久化到數據庫。
為什么:
大家想一下,開(kāi)啟了事務(wù),我們提交后才能持久化到數據庫。也就說(shuō),沒(méi)有用過(guò)事務(wù)的時(shí)候,提交是自動(dòng)的。

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

這個(gè)時(shí)候,不用開(kāi)啟事務(wù),每次都要手動(dòng)提交,才能持久化到數據庫。
注意:commit后,不能自動(dòng)關(guān)閉。
記得要set autocommit=1 開(kāi)啟自動(dòng)提交

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














2、數據的備份和還原
         1. 簡(jiǎn)單的數據備份(單表備份)
通過(guò)select語(yǔ)句,將查詢(xún)數據,寫(xiě)入到一個(gè)文件中,存儲起來(lái)。
格式:
select 字段列表 into outfile “文件路徑” from 表名;

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

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

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

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

格式:
mysqldump 數據庫地址 端口 用戶(hù)名 密碼 -B 庫名 > 備份文件
如果有-B,則sql中有創(chuàng )建庫的sql語(yǔ)句

箭頭:>   輸出重定向

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

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

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

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

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自本網(wǎng)站內容采集于網(wǎng)絡(luò )互聯(lián)網(wǎng)轉載等其它媒體和分享為主,內容觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如侵犯了原作者的版權,請告知一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容,聯(lián)系我們QQ:712375056,同時(shí)歡迎投稿傳遞力量。

国产真实强被迫伦姧女在线观看| 丰满人妻一区二区三区无码AV| 后入到高潮免费观看| JAPANESEHD春药2| 国产XXX69麻豆国语对白| 国产乱人伦真实精品视频|