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࠽⼻º¿㊇