天天看點

MySQL基礎day05_MySQL資料庫的備份與恢複-1-MySQL 5.6

一、資料備份與恢複

資料備份的方式

實體備份:拷貝存放庫和表檔案的目錄(使用cp、tar等指令備份)

邏輯備份:備份生成庫、表、插入記錄時的sql語句(使用mysqldump或第三方軟體)

資料備份時候的政策

完整備份:備份資料庫伺服器上的所有庫,所有表。mysqldump

差異備份:備份自從完整備份之後生成的新資料、

增量備份:備份自從上一次備份後生成的新資料。

注:在生産環境中通常使用備份政策組合

完整備份+差異備份

完整備份+增量備份

使用mysqldump完整備份

注:mysqldump是由MySQL-client提供的

格式:

mysqldump -h(伺服器ip) -u(使用者名)-p(密碼) 資料庫名 > /備份目錄/xxx.sql

mysqldump -h(伺服器ip) -u(使用者名)-p(密碼) 資料庫名 > xxx.sql

如果實在本機操作可以使用:mysqldump資料庫名 > xxx.sql

資料庫名的表示方式

資料庫名:表示備份這個庫裡的所有表

示例:mysqldump-hlocalhost -uroot -p userdb > /bakdb/userdb.sql

資料庫名 表名:直備份資料庫中的某個表

示例:mysqldump-hlocalhost -uroot -p userdb user_tab > /bakdb/userdb.user_tab.sql

--all-databases:備份伺服器上的所有庫上的所有表

示例:mysqldump-hlocalhost -uroot -p --all-databases > /bakdb/mysql.sql

-B 資料庫名1 資料庫2 資料庫名N:對某幾個庫做完整備份

mysqldump-hlocalhost -uroot -p123456 -B userdb studb > twodb.sql

注:

備份檔案名不能重名,如果重名了,會覆寫之前的備份;

-p後面可以直接根密碼,或者隻寫-p,在之後輸入密碼;

資料恢複的文法格式

mysql -h(資料庫ip) -u(使用者名)-p(密碼) [資料庫名] < 備份檔案名

mysql -hlocalhost-uroot -p123456 userdb < userdb.sql

注:當備份的時候備份的是多個資料庫時,備份的資料含有建庫和切換庫的語句,恢複的時候不需要指定資料庫名;

mysql -hlocalhost-uroot -p123456 < twodb.sql

完整備份的缺陷:

用完整備份恢複資料隻能恢複到完整備份時候的資料,新生成的資料無法恢複;

本文轉自 murongqingqqq  51CTO部落格,原文連結:http://blog.51cto.com/murongqingqqq/1381880