一、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 備份壓縮 ...