MySQL是廣泛使用的一個(gè)關(guān)系型數(shù)據(jù)庫,有時(shí)候我們?cè)跀?shù)據(jù)操作中不小心刪除了一張表,或者進(jìn)行了其他誤操作,需要快速恢復(fù)該表數(shù)據(jù)。下面我們介紹如何單獨(dú)恢復(fù)一張表。
首先,在MySQL的備份目錄下找到備份文件,文件名格式為“*YYYY-MM-DD-HH-MM-SS.sql”,其中"*"為備份的數(shù)據(jù)庫名。例如我們要恢復(fù)的數(shù)據(jù)庫名為test,在備份目錄中找到test_2021-05-11-11-30-00.sql文件,該文件為備份文件。
$ ls /var/backups/mysql/test_2021-05-11-11-30-00.sql
打開備份文件,找到要恢復(fù)的表所在的語句。例如我們要恢復(fù)的表名為users,可以使用grep命令查找:
$ grep 'CREATE TABLE `users`' /var/backups/mysql/test_2021-05-11-11-30-00.sql
找到CREATE TABLE的語句后,將其復(fù)制到新建的文件中,并保存為“users.sql”文件。
$ vim users.sql
接著,在MySQL中創(chuàng)建一個(gè)新的數(shù)據(jù)庫,例如test_new:
$ mysql -u root -p mysql>CREATE DATABASE test_new;
將備份文件導(dǎo)入到新的數(shù)據(jù)庫中:
$ mysql -u root -p test_new< /var/backups/mysql/test_2021-05-11-11-30-00.sql
最后,在新的數(shù)據(jù)庫中導(dǎo)入剛才保存的表數(shù)據(jù):
$ mysql -u root -p test_new< users.sql
完成以上步驟后,我們就成功單獨(dú)恢復(fù)了一張MySQL表。