mysqldump:mysql自帶的備份工具,是一種邏輯備份工具,它會將數據從數據庫讀出,轉化為相應sql語句。
能夠實現完全備份或部分備份,使用innodb數據庫引擎的表可實現熱備,使用mysisam數據庫引擎的表只能實現溫備。
適用于數據量較小的數據庫備份,無法備份索引等信息,當數據為浮點類型時,會出現精度丟失,備份過程是串行的。
mysqldump
--user= 指定以那個賬號與MySQL服務器進行交互
--password 交互式輸入密碼
--password=xxx 非交互式輸入密碼(適用于腳本中使用)
-A,--all-databases:備份所有數據庫的所有表
-Y,--all-tablespaces:備份全部表空間
-y,--no-tablespaces:不備份表空間
-B,--databases:指定要備份的數據庫,可同時指定多個數據庫,數據庫之間用空格隔開
--tables 如果想備份同一個數據庫中的多個表,只需在--tables后,以空格分隔的方式列出這些表既可
-C,--compress:壓縮傳輸
-x,--lock-all-tables:鎖定所有表
-l,--lock-tables:鎖定備份的表
-F,--flush-logs:鎖定表之后執行flush logs命令
-d:只備份表結構,不包含表數據
--master-data:標記備份開始時binlog所對應的position(位置)
--master-data=0 #不記錄對應二進制文件位置
--master-data=1 #記錄對應二進制日志文件位置
--master-data=2 #
-R,--routines:表示備份時,存儲過程和存儲函數也會被備份
--triggers:表示備份時,觸發器會被備份
-E,--events;表示備份時,事件表會被備份
--skip-add-drop-table
不帶DROP TABLE語句,既不在恢復時刪除原表
--skip-add-locks
不帶鎖表語句
--skip-comments
不帶注釋
--skip-disable-keys
不帶使表中的索引暫時失效的語句
--skip-set-charset
不帶SET NAMES,既不在恢復時設置字符集
Mysql的數據恢復嚴重依賴bin-log日志,所以為了防止磁盤故障導致數據文件和bin-log文件一起丟失,最好把bin-log日志存放到共享存儲中。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。