Linux中MySQL的備份及恢復
資料備份(mysqldump,在Linux終端中操作)
1、命令格式
mysqldump -uroot -p 源庫名 > 路徑/xxx.sql
2、示例
1、備份db2庫
mysqldump -uroot -p db2 > /home/tarena/db2.sql
3、源庫名的表示方式
--all-databases 備份所有庫
庫名 備份單個庫
-B 庫1 庫2 ... 備份多個庫
庫名 表1 表2 ...備份指定庫的指定表
4、練習
1、備份所有庫 all_mysql.sql,放到使用者主目錄下的 mydata 目錄中
mysqldump -uroot -p --all-databases > ~/mydata/all_mysql.sql
2、備份 db2 庫中的sheng、city、xian三張表 db2scx.sql
mysqldump -uroot -p db2 sheng city xian > ~/mydata/db2scx.sql
3、備份 MOSHOU 和 db2 庫,MSdb2.sql
mysqldump -uroot -p -B MOSHOU db2 > ~/mydata/MSdb2.sql
資料恢復
1、命令格式
mysql -u使用者名稱 -p 目標庫名 < 路徑/xxx.sql
2、示例
1、先備份庫
mysqldump -uroot -p db2 > db2.sql
2、刪除庫
drop database db2;
3、先建立空庫
create database db2 default charset=utf8;
4、恢復命令
mysql -uroot -p db2 < db2.sql
3、備份分為 完全備份 和 增量備份
完全備份:mysqldump
增量備份:binlog日誌、xbackup工具
4、從所有庫的備份檔案中恢復某一個庫(--one-database)
mysql -u使用者名稱 -p --one-database 目標庫名 < all_mysql.sql
示例:
mysql -uroot -p --one-database db2 < all_mysql.sql
注意:
1、恢復庫時庫中新增的表不會刪除
2、恢復時必須先建立空庫