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