mysqldump工具基本使用mysql
1. mysqldump [OPTIONS] database [tables…]sql
還原時庫必須存在,不存在須要手動建立bash
--all-databases: 備份全部庫 --databases db1 db2 ...: 備份指定的多個庫,若是使用此命令,恢復時將不用手動建立庫 --lock-all-tables:請求鎖定全部表以後再備份,對MyISAM、InnoDB、Aria作溫備 --lock-table: 對正在備份的表加鎖,可是不建議使用,若是其它表被修改,則備份後表與表之間將不一樣步 --single-transaction: 可以對InnoDB存儲引擎實現熱備; 啓動一個很大的大事物,基於MOCC能夠保證在事物內的表版本一致 自動加鎖不須要,再加--lock-table, 能夠實現熱備 備份代碼: --events: 備份事件調度器代碼 --routines: 備份存儲過程和存儲函數 --triggers:備份觸發器 備份時滾動日誌: --flush-logs: 備份前、請求到鎖以後滾動日誌; 方恢復備份時間點之後的內容 複製時的同步位置標記:主從架構中的,主服務器數據。效果至關於標記一個時間點。 --master-data=[0|1|2] 0: 不記錄 1:記錄爲CHANGE MASTER語句 2:記錄爲註釋的CHANGE MASTER語句
建立專門用於備份的用戶
MariaDB > GRANT RELOAD,LOCK TABLES,SUPER,REPLICATION CLIENT ON *.* TO 'backup'@'%' IDENTIFIED BY '123456'; MariaDB > FLUSH PRIVILEGES;
mysqldump -ubackup -p123456 --single-transaction --flush-logs --master-data=2 --databases ttt > /data/backup.sql