1. 程式人生 > 資料庫 >3,mysql 的單機備份和增量備份

3,mysql 的單機備份和增量備份

一 單機全量備份

1,備份單個數據庫:

語法:備份oldboy庫中所有的表

mysqldump  -uroot  -p’123456’  oldboy >/opt/oldboy_bak.sql

 

2,備份時加 -B 的作用:

在備份的時候,會在備份檔案的最開始加上建立庫的語句(create database name)和使用該庫(use databasename)

做恢復操作的時候,就不需要手動建立庫

mysqldump  -uroot  -p’123456’ -B oldboy >/opt/oldboy_bak.sql

3,恢復語句

mysql  -uroot  -p’123456’  < /opt/oldboy_bak.sql (前提是加-B備份的,否則需要加資料庫的名字恢復)

mysqldump  -uroot  -p’oldboy123’ -B oldboy|gzip>/opt/mysql_bak_B.sql.gz

這是把備份壓縮

4,備份多個庫

備份表的時候 不要加-B ,如果加了的話會認為是兩個庫。預設第一個為庫,後面的都是表

 

二 mysql 的增量備份

 

1,開啟binlog

2, 

-A: 備份所有資料庫

-F:重新整理binlog日誌,切割

mysqlbinlog -d oldboy mysql-bin.000020 >all.sql    

只想恢復binlog日誌中oldboy 庫的資料,-d 指定庫

下面這樣執行恢復,會把所有的庫的操作都恢復,但是生產中並不是所有的庫需要恢復。

 

3,

檢視整個資料庫執行狀態資訊,可以分析做好監控

mysql> show global status;

檢視正在執行的完整sql語句

mysql> show full processlist;

4,mysqlbinlog

[root@moban ~]# 
[root@moban ~]# cat   test_bak.sql    

                                                                                                                                      wM[ªEJCEɔ}ᷨ JCt9࠽⼻º¿㊇