mysql備份-增量備份級數據恢復

mysqldump -u 用戶名 -p密碼 html

 mysqldump -h 127.0.0.1 -u root -P3003 --events -p mysql > /tmp/mysql.bak.sql                                   ###由於mysqldump默認是不備份事件表的,只有加了--events 纔會解決加上mysql

egrep -v "#|\*|--|^$" /tmp/mysql.bak.sql                         ################查看導出的表信息sql

mysql -h 127.0.0.1 -uroot -p'123456' -P3003 -e "use mysql;drop table db;"            ##經過命令刪除mysql下的db表。
mysql -h 127.0.0.1 -uroot -p'123456' -P3003 mysql </tmp/mysql_B.sql                       ##經過備份還原mysql庫的表數據庫

mysql -uroot -h10.10.0.37 -P3320 --default-character-set=utf8 -p hive_new < ./201806201512sql.sql  還能夠指定字符集bash

 

###帶參數大B的導出ide

mysqldump -h127.0.0.1 -uroot -poldboy -P3003  -B oldboy > /tmp/oldboy_B.sql    ####這樣就算刪除了oldboy數據庫  也能恢復。spa

####壓縮方式倒出數據庫.net

 mysqldump -h127.0.0.1 -uroot -poldboy -P3003  -B oldboy|gzip > /tmp/oldboy_B.sql.gzip調試

 

mysqldump備份原理日誌

利用mysqldunmp命令備份數據的過程,實際上就是把數據從mysql庫裏以邏輯的sql語句的形式直接輸入或者生成備份文件的過程。

 

####mysql備份多個庫

mysqldump -h 127.0.0.1 -uroot -poldboy -P3003 -B oldboy test_gbk test_utf8|gzip > /opt/3gku.sql.gz    ##備份多個庫

gunzip < /opt/3gku.sql.gz |mysql -h 127.0.0.1 -uroot -poldboy -P3003                       ###恢復庫

mysql -h127.0.0.1 -uroot -poldboy -P3003 -e "show databases;"|grep -Evi "database|infor|perfor"|sed 's#^#mysqldump -h 127.0.0.1 -uroot -poldboy -P3003 -B #g'|gzip > /tmp/haha.sql.gz    ###能夠查出來庫以及在庫前面加上參數

###分庫備份

mysql -h127.0.0.1 -uroot -poldboy -P3003 -e "show databases;"|grep -Evi "database|infor|perfor"|sed -r 's#^([a-z].*$)#mysqldump -h 127.0.0.1 -uroot -poldboy -P3003 -B \1|gzip > /opt/\1.sql.gz#g'|bash
#!/bin/bash
for dbname in `mysql -h127.0.0.1 -uroot -poldboy -P3003 -e "show databases;"|grep -Evi "database|infor|perfor"`
do
mysqldump -h 127.0.0.1 -uroot -poldboy -P3003 --events -B $dbname|gzip > /opt/${dbname}_bak.sql.gz
done
腳本備份分庫

 

###備份mysql表結構

mysqldump -h127.0.0.1 -uroot -poldboy -P3003 --compact -d oldboy > /opt/a.sql    ###備份表結構

mysqldump -h127.0.0.1 -uroot -poldboy -P3003 --compact -t oldboy > /opt/a.sql         ###備份數據

###mysql數據庫全備,而且刷新bin-log

mysqldump -h127.0.0.1 -uroot -p -P3003 --events -A -B -F  |gzip  > /opt/b.sql.gz    

-A 備份 全部庫

-B  指定多個庫,增長建庫語句和use語句

--compact 去掉註釋,適合調試輸出,生產不用

-F 刷新binlog日誌

--master-data增長binlog日誌文件名級對應的位置點

-R備份存儲過程等

-x鎖表
-l --lock-tables  只讀鎖表

-d 只備份表結構

-t  只備份數據
--single-transaction 適合innodb事物數據庫備份

myisam 備份命令

mysqldump -h127.0.0.1 -uroot -poldboy -A -B --master-data=2 -x --events |gzip > /opt/all.sql.gz

innodb 備份命令:推薦使用

mysqldump -h 127.0.0.1 -u root -poldboy -A -B --master-data=2 --events --single-transaction|gzip >/opt/all.sql.gz

 

mysql恢復方法

1.source /opt/mysql_bak_B.sql           ##須要進入數據庫裏面操做而後指定指定數據路徑          sysctem 查看目錄

2.mysql -h 127.0.0.1 -uroot -poldboy -P3003 oldboy < /opt/mysql_bak.sql

   mysql -h 127.0.0.1 -uroot -poldboy -P3003 < /opt/mysql_bak_B.sql

 

##查看連接數據庫狀況

mysql -h 127.0.0.1 -uroot -poldboy -P3003 -e "show full  processlist;"   能夠查到數據庫連接狀況以及操做命令來排查慢查詢

mysql -h 127.0.0.1 -uroot -poldboy -P3003 -e "show global status;"   查看全局狀態  

mysql -h 127.0.0.1 -uroot -poldboy -P3003 -e "show global status;"|grep sel   ###查看mysql計數

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

https://blog.csdn.net/jesseyoung/article/details/37106035



https://www.cnblogs.com/kevingrace/p/5907254.html
View Code
相關文章
相關標籤/搜索