簡單情況下:進入原來mysql安裝路徑下的data文件夾下,找到相應(yīng)的庫和ibdata1,進行copy,就可回復(fù)原來的數(shù)據(jù)。
創(chuàng)新互聯(lián)建站專注于企業(yè)營銷型網(wǎng)站、網(wǎng)站重做改版、扎賚特網(wǎng)站定制設(shè)計、自適應(yīng)品牌網(wǎng)站建設(shè)、H5技術(shù)、成都商城網(wǎng)站開發(fā)、集團公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計等建站業(yè)務(wù),價格優(yōu)惠性價比高,為扎賚特等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
復(fù)雜情況下:
從另一臺機上把MySQL數(shù)據(jù)庫的mysql文件夾拷貝到本地機上,目的是恢復(fù)本地機對數(shù)據(jù)的訪問和操作。經(jīng)過如下幾種情況的操作。
1. 在本地重裝MySQL(安裝目錄D:\Program Files\MySQL\MySQL Server 5.0),直接把mysql文件夾拷貝至D:\Program Files\MySQL\MySQL Server 5.0\。結(jié)果,失?。簲?shù)據(jù)庫連接錯誤。
2. 卸載后重裝MySQL,將D:\Program Files\MySQL\MySQL Server 5.0\下的數(shù)據(jù)備份,只把mysql\data文件夾全部內(nèi)容拷貝到D:\Program Files\MySQL\MySQL Server 5.0\data下。結(jié)果,失敗:數(shù)據(jù)庫連接錯誤。將備份的數(shù)據(jù)還完覆蓋。結(jié)果,失敗,還是連接不上數(shù)據(jù)庫。
3. 卸載后重裝MySQL,將mysql\data文件夾里的cf1,last文件夾(這兩個是原來MySQL里的數(shù)據(jù)庫)拷貝進D:\Program Files\MySQL\MySQL Server 5.0\data。連接成功,在Navicat for MySQL里看到數(shù)據(jù)庫cf1和last,但是不能訪問,因為數(shù)據(jù)全為零。明白了原來data里以數(shù)據(jù)庫命名的文件存儲的是數(shù)據(jù)庫的表結(jié)構(gòu),不是元數(shù)據(jù)。下一步,把data文件夾里的ibdata1文件(3.4G大,明顯存儲了元數(shù)據(jù))拷貝到D:\Program Files\MySQL\MySQL Server 5.0\data里,代替原來的ibdata1文件。重啟電腦,打開Navicat for MySQL,連接成功,數(shù)據(jù)可以訪問操作。
至此,操作終于成功。其實當(dāng)初在那臺機上把數(shù)據(jù)導(dǎo)出來,而不是現(xiàn)在直接把文件夾mysql復(fù)制過來會更容易恢復(fù)。但那臺機已經(jīng)重裝了系統(tǒng),也就是說MySQL失效了。
使用mysql中的日志功能。
首先:將最近的二進制類型的日志文件存成文本文件導(dǎo)出,命令如下:
mysqlbinlog
F:/wamp/mysql-bin.000045
F:/test.txt
其次:打開保存的txt文件,文件格式如下:
其中at
1099代表第1099個命令(姑且這么記),查詢這些命令,看看需要回復(fù)的命令在什么地方,然后執(zhí)行命令。
最后:執(zhí)行回復(fù)命令,如下:
mysqlbinlog
--start-position="123"
--stop-position="531"
F:/wamp/mysql-bin.000045
F:/test.txt
|
mysql
-uroot
-p
這樣就可以完成數(shù)據(jù)庫的回復(fù)了!?。?/p>
1、先在運行中輸入services.msc,找到MysQL的服務(wù),將其停止;
2、然后備份新安裝的MY.INI和DATA這兩個目錄,直接將其原來mysql/data下的文件拷到新安裝的mysql/data目錄下即可;
3、啟動MysQL服務(wù)。該方法只在新安裝的數(shù)據(jù)庫與舊數(shù)據(jù)庫版本相同的情況下實驗成果。重新打開navicat,發(fā)現(xiàn)原來的數(shù)據(jù)庫都可以使用了。
好像不支持事務(wù)回滾
mysql
Max版支持
mysql_query('BEGIN');//開始事務(wù)
mysql_query('..........');//中間執(zhí)行其他sql語句
mysql_query('COMMIT');//成功后提交事務(wù)
//mysql_query('ROLLBACK');//失敗后回滾
上面不是php代碼嗎
就是用mysql_query執(zhí)行而已
在當(dāng)前mysql中雖然出現(xiàn)了事務(wù)的支持,但它還很不成熟,所以,呵呵,先觀望事務(wù)吧,采取其他手段達到事務(wù)的效果
比如你想刪除或更新一些記錄,你可以創(chuàng)建一個臨時表或者使用預(yù)先建立的備份表,將要將要操作的數(shù)據(jù)備份下來,當(dāng)其他操作失敗時將這些數(shù)據(jù)恢復(fù)回去。當(dāng)然實際情況可能更復(fù)雜一些。這樣做看起來很麻煩,而且效率值得懷疑,不過需要事務(wù)處理的地方應(yīng)該不會很多,所以麻煩一次兩次還是可以忍受的。
事務(wù)處理本身就不是一個高效的、百分百安全的手段,我們完全可以通過優(yōu)化表的結(jié)構(gòu)、編寫有效的腳本而避免使用事務(wù)。關(guān)注我也關(guān)注
名稱欄目:mysql怎么回執(zhí) mysql回表是什么意思
分享地址:http://muchs.cn/article20/dohiico.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名、外貿(mào)網(wǎng)站建設(shè)、定制網(wǎng)站、微信公眾號、網(wǎng)站設(shè)計、微信小程序
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)