數據庫的備份,遷移


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM