08.14自我總結 資料庫的備份 一資料庫的備份 1.單庫備份 2.多庫備份 3.備份所有庫 二.備份恢復 1.退出資料庫後 多庫 3.使用gzip進行壓縮數據備份 4.備份時候切割binlog日誌:(進行增量備份的時候可以用到) 5.備份的時候會記錄指定文件的位置以及mysqlbinglog的文件 ...
08.14自我總結
資料庫的備份
一資料庫的備份
1.單庫備份
mysqldump -uroot -p123 db1 > db1.sql #庫名
mysqldump -uroot -p123 db1 table1 table2 > db1-table1-table2.sql #庫名 表名
2.多庫備份
mysqldump -uroot -p123 --databases db1 db2 mysql db3 > db1_db2_mysql_db3.sql
3.備份所有庫
mysqldump -uroot -p123 --all-databases > all.sql
二.備份恢復
1.退出資料庫後
mysql -u -p < filename.sql;
2.在資料庫內
- 創建空資料庫
- 選擇資料庫
- 然後使用source filename; 來進行還原
例如
use db1;
source /root/db1.sql
三.資料庫遷移
務必保證在相同版本之間遷移
# mysqldump -h 源IP -uroot -p123 --databases db1 | mysql -h 目標IP -uroot -p456
四.備份高階
1.常用參數
- -B:表示的是指定多個庫,增加了建庫語句和use資料庫的語句。
- -compact:去掉註釋,適合調試輸出,不適合在生產環境使用。
- -A: 表示的是本分所有的庫。
- -F:刷新binlog日誌,方便進行增量的恢復。
- –master-data:增加binlog日誌文件名及其對應的位置點。
- -x,–lock-all-tables :在備份的時候進行鎖表,保持數據的一致性。
- -d:只備份表的結構。
- -t : 只備份資料庫中的數據
- –single-transaction 適合innodb資料庫的備份。
2.-B備份
單庫
備份test中的所有表
mysqldump -uroot -ppassword -B test >/tmp/test.sql
多庫
mysqldump -uroot -ppassword -B 庫1 庫2 >/tmp/test.sql
3.使用gzip進行壓縮數據備份
mysqldump -uroot -ppassword -B 庫1 庫2 |gzip >/tmp/test.gz
4.備份時候切割binlog日誌:(進行增量備份的時候可以用到)
-F 的作用就是備份資料庫的時候,將binlog日誌進行重新刷新。
mysqldump -uroot -ppassword -t -B -F test
5.備份的時候會記錄指定文件的位置以及mysqlbinglog的文件名稱
--master-data=1 的作用就是備份資料庫的時候,將binlog日誌進行重新刷新
mysqldump -uroot -ppassword -t -B -F --master-data test