數據庫的備份,遷移

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; 來進行還原

例如python

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
相關文章
相關標籤/搜索