mysql -s 参数_mysqldump 的常用参数。
mysqldump 常用參數詳解:
--databases:備份多個數據庫,選項后跟多個庫名。備份文件中會包含USE db_name。
--events ? ?: ?備份事件
--routines:備份存儲過程和函數
--ignore-table=TableName :指定不需要備份的表
--tables:覆蓋--databases 或 -B 選項。該選項后的名稱參數均被認為是表名。備份指定的表
--default-character-set:指定備份文件的編碼,和數據庫編碼無關
--lock-all-tables:通過在備份期前加read lock鎖定所有庫的所有表。會自動關閉—single-transaction和—lock-tables。
--lock-tables:在備份數據庫時對當前庫添加read lock.
--master-data:在備份文件中添加二進制日志文件名和位置信息,會自動開始--lock-all-tables
--single-transaction:在備份前設置事務隔離級別為REPEATABLE READ并向server發送START TRANSACTION語句。
僅對事務型表如InnoDB有用。與--lock-tables互斥。對于大文件備份--single-transaction與--quick結合使用。
--flush-logs:刷新日志,生成一個新的二進制日志,主要用戶做增量備份
--max-allowed-packet:可發送或接受的最大包分組長度
--no-autocommit:在INSERT前后添加set autocommit=0和commit。
--order-by-primary:將備份的表中的行按主鍵排序或者第一個唯一鍵排序。
當備份MyISAM表且將被載入到InnoDB表時很有用,打包備份本身的時間會較長。
--quick:強制mysqldump將查詢得到的結果直接輸出到文件,不緩存到內存中
1.備份一個DB
mysqldump -u$dbuser -p$dbpwd --databases DBName | gzip ?> ?/home/backup/DBName.sql.gz
2.備份多個DB:參數--databases 之后直接跟DBName,用空格隔開就行(我以前總以為是逗號隔開)
mysqldump -u$dbuser -p$dbpwd --databases DBName01 DBName02 | gzip ?> ?/home/backup/DBName.sql.gz
3.備份過程中忽略指定的表
mysqldump -u$dbuser -p$dbpwd --databases DBName01 DBName02 --ignore-table=DBName01.Table01 | gzip ?> ?/home/backup/DBName.sql.gz
note:這里的表名必須寫成DBName.TabName
4.備份過程中忽略多張指定的表
mysqldump -u$dbuser -p$dbpwd --databases DBName01 DBName02 --ignore-table=DBName01.Table01 --ignore-table=DBName01.Table02 | gzip ?> ?/home/backup/DBName.sql.gz
5.備份指定的表:
mysqldump ?-u$dbuser -p$dbpwd ?--databases DBName01 ?--tables TabName | gzip > /home/backup/DBName.sql.gz
note:這里的表名不能寫成DBName.TabName
6備份多張表:
mysqldump ?-u$dbuser -p$dbpwd ?--databases DBName01 ?--tables TabName01 TabName02 TabName03 ?| gzip > /home/backup/DBName.sql.gz
參考鏈接:
######2016-09-09 add #####################
幾個特殊參數的解釋
--master-data
--single-transaction
在單獨使用--master-data參數時,會自動添加--lock-all-tables,鎖定所有的表,直到備份完成結束
為了減少對整個db的影響,在備份的時候 --master-data 和--single-transaction配合使用
mysqldump -uroot -p'1234' --databases dbname ?--single-transaction --master-data > ?1.sql
備份原理如下:
1.flush tables ; ? # 關閉所有表,減少加鎖時對真個數據庫的影響
2.flush tables with read lock ?;
3.set session 設置會話級別為rr ; ? # 設置會話的隔離級別為rr ,這個可能和下面的快照有關,
4.start transaction with consistent ?snapshot ?; ?#建立快照
5.show master status ? ? ?# 獲得 binlog ?postions
6.unlcok ? ?# 釋放鎖
7.復制表結構和數據
總結
以上是生活随笔為你收集整理的mysql -s 参数_mysqldump 的常用参数。的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: cors漏洞 复现_Jsonp跨域漏洞浅
- 下一篇: mysql分区有好处吗_mysql 分区