亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

MySQL 自動(dòng)備份與數(shù)據(jù)庫(kù)被破壞后的恢復(fù)方法

 更新時(shí)間:2010年03月16日 21:13:13   作者:  
當(dāng)數(shù)據(jù)庫(kù)服務(wù)器建立好以后,我們首先要做的不是考慮要在這個(gè)支持?jǐn)?shù)據(jù)庫(kù)的服務(wù)器運(yùn)行哪些受MySQL提攜的程序,而是當(dāng)數(shù)據(jù)庫(kù)遭到破壞后,怎樣安然恢復(fù)到最后一次正常的狀態(tài),使得數(shù)據(jù)的損失達(dá)到最小。

[2] 當(dāng)數(shù)據(jù)庫(kù)被修改后的恢復(fù)方法

數(shù)據(jù)庫(kù)被修改,可能存在著多方面的原因,被入侵、以及相應(yīng)程序存在Bug等等,這里不作詳細(xì)介紹。這里將只介紹在數(shù)據(jù)庫(kù)被修改后,如果恢復(fù)到被修改前狀態(tài)的方法。

具體和上面所述的“數(shù)據(jù)庫(kù)被刪除后的恢復(fù)方法”相類(lèi)似。這里,測(cè)試用數(shù)據(jù)庫(kù)接著使用剛剛在前面用過(guò)的test。這里為了使剛剛接觸數(shù)據(jù)庫(kù)的朋友不至于理解混亂,我們?cè)俅蔚卿浀組ySQL服務(wù)器上確認(rèn)一下剛剛建立的測(cè)試用的數(shù)據(jù)庫(kù)test的相關(guān)信息。

[root@CentOS ~]# mysql -u root -p  ← 用root登錄到MySQL服務(wù)器
Enter password:  ← 輸入MySQL的root用戶密碼
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 14 to server version: 4.1.20

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> show databases;  ← 查看當(dāng)前存在的數(shù)據(jù)庫(kù)
+-------------+
| Database |
+-------------+
| mysql |
| test  |
+------------+
2 rows in set (0.00 sec)

mysql> use test  ← 連接到test數(shù)據(jù)庫(kù)
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> show tables;  ← 查看test數(shù)據(jù)庫(kù)中存在的表
+-------------------+
| Tables_in_test |
+-------------------+
| test  |
+-------------------+
1 row in set (0.00 sec)

mysql> select * from test;  ← 查看數(shù)據(jù)庫(kù)中的內(nèi)容
+------+--------------------+
| num | name  |
+------+--------------------+
| 1 | Hello,CentOS|
+------+--------------------+
1 row in set (0.01 sec)

mysql> exit  ← 退出MySQL服務(wù)器
Bye

然后,我們?cè)俅芜\(yùn)行數(shù)據(jù)庫(kù)備份腳本,將當(dāng)前狀態(tài)的數(shù)據(jù)庫(kù),再做一次備份。

[root@CentOS ~]# cd  ← 回到腳本所在的root用戶的根目錄
[root@CentOS ~]# ./mysql-backup.sh  ← 運(yùn)行腳本進(jìn)行數(shù)據(jù)庫(kù)備份

接下來(lái),我們?cè)俅蔚卿浀組ySQL服務(wù)器中,對(duì)測(cè)試用的數(shù)據(jù)庫(kù)test進(jìn)行一些修改,以便于測(cè)試數(shù)據(jù)恢復(fù)能否成功。

[root@sample ~]# mysql -u root -p  ← 用root登錄到MySQL服務(wù)器
Enter password:  ← 輸入MySQL的root用戶密碼
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 15 to server version: 4.1.20

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> use test  ← 連接到test數(shù)據(jù)庫(kù)
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> update test set name='Shit,Windows';  ← 然后將test中表的值重新定義為“Shit,Windows”(原來(lái)為“Hello,CentOS”)
Query OK, 1 row affected (0.07 sec)
Rows matched: 1 Changed: 1 Warnings: 0

mysql> select * from test;  ← 確認(rèn)test中的表被定義的值
+------+--------------------+
| num | name  |
+------+-------------------+
| 1 | Shit,Windows |  ← 確認(rèn)已經(jīng)將原test數(shù)據(jù)庫(kù)表中的值修改為新的值“Shit,Windows”
+------+-------------------+
1 row in set (0.00 sec)

mysql> exit  ← 退出MySQL服務(wù)器
Bye

以上,我們就等于模擬了數(shù)據(jù)庫(kù)被篡改的過(guò)程。接下來(lái),是數(shù)據(jù)庫(kù)被“篡改”后,用備份進(jìn)行恢復(fù)的方法。

[root@CentOS ~]# /bin/cp -Rf /backup/mysql/test/ /var/lib/mysql/  ← 復(fù)制備份的數(shù)據(jù)庫(kù)test到相應(yīng)目錄

然后,再次登錄到MySQL服務(wù)器上,看數(shù)據(jù)庫(kù)是否被恢復(fù)到了被“篡改”之前的狀態(tài)。

[root@CentOS ~]# mysql -u root -p  ← 用root登錄到MySQL服務(wù)器
Enter password:  ← 輸入MySQL的root用戶密碼
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 16 to server version: 4.1.20

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> use test  ← 連接到test數(shù)據(jù)庫(kù)
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> select * from test;  ← 查看數(shù)據(jù)庫(kù)中的內(nèi)容
+------+----------------+
| num | name  |
+------+----------------+
| 1| Hello,CentOS | ← 確認(rèn)數(shù)據(jù)表中的內(nèi)容與被修改前定義的“Hello,CentOS”一樣!
+------+----------------+
1 row in set (0.01 sec)

mysql> exit  ← 退出MySQL服務(wù)器
Bye

以上結(jié)果表示,數(shù)據(jù)庫(kù)被修改后,用備份后的數(shù)據(jù)庫(kù)成功的將數(shù)據(jù)恢復(fù)到了被“篡改”前的狀態(tài)。

測(cè)試后…

測(cè)試完成后,將測(cè)試用過(guò)的遺留信息刪除。

[root@CentOS ~]# mysql -u root -p  ← 用root登錄到MySQL服務(wù)器
Enter password:  ← 輸入MySQL的root用戶密碼
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 19 to server version: 4.1.20

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> use test  ← 連接到test數(shù)據(jù)庫(kù)
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> drop table test;  ← 刪除test數(shù)據(jù)庫(kù)中的表
Query OK, 0 rows affected (0.01 sec)

mysql> drop database test;  ← 刪除測(cè)試用數(shù)據(jù)庫(kù)test
Query OK, 0 rows affected (0.00 sec)

mysql> show databases;  ← 查看當(dāng)前存在的數(shù)據(jù)庫(kù)
+-------------+
| Database |
+-------------+
| mysql |  ← 確認(rèn)測(cè)試用數(shù)據(jù)庫(kù)test不存在、已被刪除
+-------------+
1 row in set (0.00 sec)

mysql> exit  ← 退出MySQL服務(wù)器
Bye

以上介紹了用我們自己建立的一段Shell腳本,通過(guò)mysqlhotcopy來(lái)備份數(shù)據(jù)庫(kù)的方法。

對(duì)于許多個(gè)人愛(ài)好者來(lái)說(shuō),組建服務(wù)器可能不是很考慮數(shù)據(jù)被破壞以及數(shù)據(jù)被破壞后的恢復(fù)工作。但不能不說(shuō),對(duì)于服務(wù)器來(lái)說(shuō),數(shù)據(jù)破壞后的恢復(fù)效率也是區(qū) 別業(yè)余和專(zhuān)業(yè)的因素之一。所以筆者建議,在您配置好了Web服務(wù)器以及MySQL服務(wù)器等等的時(shí)候,千萬(wàn)不要急于應(yīng)用它,而要想辦法在有限的(硬件、軟件)條件下使它“堅(jiān)不可摧”之后,再考慮應(yīng)用的問(wèn)題。

而且,以上介紹的方法中提到的數(shù)據(jù)庫(kù)自動(dòng)備份腳本雖然被設(shè)置為每天定時(shí)運(yùn)行,但當(dāng)您運(yùn)行某些與MySQL相關(guān)聯(lián)的程序(論壇、社區(qū)等等)時(shí),做一些可 能危及數(shù)據(jù)安全的操作的時(shí)候,運(yùn)行數(shù)據(jù)庫(kù)備份腳本即時(shí)備份當(dāng)前狀態(tài)數(shù)據(jù)庫(kù),也是非常有幫助的,至少可以在出現(xiàn)問(wèn)題后保證數(shù)據(jù)庫(kù)方面的可恢復(fù)性。

相關(guān)文章

最新評(píng)論