mysqldump備份 mysql增量備份

2021-08-02 20:26:52 字數 3161 閱讀 7148

一、mysql資料庫自帶備份命令:mysqldump

1、備份:

mysqldump -u使用者名稱 -p'密碼' 資料庫名 >備份的檔名

如:1、mysqldump -uroot -p'123' zdh >/opt/mysql_bak.sql

2、mysqldump -uroot -p'123' -b zdh >/opt/mysql_bak_b.sql(-b引數,指定多個庫,匯出資料,推薦)

3、mysqldump -uroot -p'123' --compact -b zdh >/opt/mysql_bak_b_compact.sql(--compact,適用於debug調優,

去掉注釋,生產場景不用,不推薦)

4、壓縮備份:

mysqldump -uroot -p'123' -b zdh|gzip >/opt/mysql_bak_sql.gz

5、壓縮備份多個庫:

mysqldump -uroot -p'123' -b zdh oldboy|gzip >/opt/mysql_bak_sql.gz

(備份zdh和oldboy兩個mysql資料庫)

6、備份多個庫:

mysqldump -uroot -p'123' -e "show databases;"|grep -evi "database|infor|perfor"|sed 's#^#mysqldump -uroot -p'123' -b #g'

(其中root是使用者名稱,123是mysql登入密碼,zdh是mysql的乙個資料庫名,/opt/mysql_bak.sql

表示備份的位置和檔名,加了-b引數其備份的sql語句多了create database db創庫

和use 'db'連線庫的過程)

2、恢復:

mysqldump -u使用者名稱 -p'密碼' 資料庫名 《備份的檔名

如:1、mysqldump -uroot -p'123' zdh       2、mysqldump -uroot -p'123' 3、檢視mysqldump下備份的sql語句

egrep -v "#|\*|--|^$" /opt/mysql_bak.sql

4、檢視mysql的字符集:

mysql -uroot -p123 -e "show variables like '%character%'"

5、檢視sql的內容:

less /opt/mysql_bak_b_compact.sql  

二、mysqldump工作原理:

備份:以邏輯的sql語句形式直接備份檔案;

三、mysql單多表備份:

1、備份單錶:

mysqldump -u使用者名稱 -p'密碼' 資料庫名 表名 >備份的檔名

mysqldump -uroot -p'123' zdh student >/opt/one.sql

(zdh是資料庫名,student是zdh下的表名)

2、備份多表:

mysqldump -u使用者名稱 -p'密碼' 資料庫名 表名1 表名2 >備份的檔名

mysqldump -uroot -p'123' zdh student temp >/opt/two.sql

四、只備份mysql表結構和只備份mysql資料:

1、只備份mysql表結構:

mysqldump -u使用者名稱 -p'密碼' -d 資料庫名 >備份的檔名

mysqldump -uroot -p'123' -d zdh >/opt/three.sql

2、只備份mysql資料:

mysqldump -u使用者名稱 -p'密碼' -t 資料庫名 >備份的檔名

mysqldump -uroot -p'123' -t zdh >/opt/three.sql

五、mysql全庫壓縮備份:

mysqldump -u使用者名稱 -p'密碼' -a -b --events|gzip >備份的檔名

mysqldump -uroot -p'123' -a -b --events|gzip >/opt/a.sql.gz

六、mysql增量備份(重新整理binlog引數,從當前備份binlog點之後增量備份):

1、mysqldump -u使用者名稱 -p'密碼' -a -b -f --events|gzip >備份的檔名

mysqldump -uroot -p'123' -a -b -f --events|gzip >/opt/a.sql.gz

1.1、自動找到binlog的檔案和位置:

mysqldump -uroot -p'123' --master-data=1 student >/opt/student.sql

會出現change master to master_log_file='mysql-bin.007',master_log_pos=107;

change master to master_log_file='mysql-bin.007':表示binlog的檔案

107:表示當前備份的點

1.2、檢視mysqlbinlog的安裝位置:

which binlog

七、引數總結:

1、-b 指定多個庫,增加建庫語句和use語句

2、--compact 去掉注釋,精簡輸出,適合debug,生產不用

3、-a 備份全庫

4、-f 重新整理binlog日誌

5、--master-data 增加binlog日誌檔名以及對應的位置點(matser-data=1/2,2多了注釋,1精簡表示可執行用於mysql從庫,master-data能知道mysqlbinlog日誌和對應的位置點)

6、-x 鎖表

7、-l 唯讀鎖表

8、-d 只備份表結構

9、-t 只備份資料

10、--single-transaction  適合innodb事務庫備份(設定會話的隔離級別為:repeatable read)

八、引擎備份:

8.1:myisam常規備份

mysqldump -uroot -p'123' -a -b -f --master-data=2 -x --events|gzip >/opt/student.sql

8.2:innodb常規備份

mysqldump -uroot -p'123' -a -b -f --master-data=2 --single-transaction --events|gzip >/opt/student.sql

mysql dump備份 mysqldump備份

備份工具 1.mysqldump 資料量很大時不推薦使用 myisam 鎖表 innodb 行鎖 mysqldump help less 檢視mysql所有的語法 mysqldump uroot p wang usr back upsql wang.sql 整個庫備份 mysqldump uroot...

mysqldump備份詳解

1,mysqldump工具是mysql自帶的乙個非常方便的小工具,存放在mysql安裝目錄的c program files mysql mysql server 5.1 bin下。2,mysqldump 和 mysql一樣.都是應用程式,你在mysql下是執行不了的.我們可以在cmd裡面輸入mysq...

mysqldump 資料備份

1 備份命令 格式 mysqldump h主機名 p埠 u使用者名稱 p密碼 database 資料庫名 檔名.sql mysqldump h 192.168.1.100 p 3306 uroot ppassword database cmdb data backup cmdb.sql2 備份壓縮 ...