使用mysqldump命令進行mysql數據庫備份

一、用法mysql

mysqldump -uroot -p --databases test > /home/test.dump
mysqldump -uroot -h127.0.0.1 -p --databases test --single-transaction --set-gtid-purged=off --max_allowed_packet=512M > /home/test.sql

二、參數說明sql

-uroot:數據庫用戶名爲root數據庫

-h172.16.43.131:指定mysql數據庫IP地址spa

-p:設置參數線程

--databases test:設置導出的數據庫爲test,能夠同時導出多個庫,庫名用空格隔開,如--databases test1 test2,也能夠導出全部庫,使用--all-databases參數code

--single-transaction:設置事務隔離級別爲可重複讀,保證dump期間,其餘線程對提交的數據不會影響本次數據,改期間也不會鎖表blog

--lock-all-tables:鎖全部表,相對--single-transaction,dump期間,其餘線程都不能提交數據(默認策略)事務

--no-data:不備份數據,只備份數據庫結構ip

--set-gtid-purged=off:關閉全局事務 ID (GTID)io

--max_allowed_packet=512M:設置max_allowed_packet大小,值最好等於my.conf配置的大小,不然會出現Got packet bigger than 'max_allowed_packet' bytes when dumping table `xxx` at row: 3540錯誤

三、壓縮備份

mysqldump -uroot -p --databases test | gzip > /home/test.dump.zip

 

出現的錯誤:

一、mysqldump: Error 3024: Query execution was interrupted, maximum statement execution time exceeded when dumping table `base_uploadfileblob` at row: 5549

max_execution_time設置太小。默認爲0,表示不限制時間,可修改/etc/my.conf文件進行配置,單位爲毫秒,如:max_execution_time=100000

相關文章
相關標籤/搜索