您好,登錄后才能下訂單哦!
一 冷備份:
??冷備份,停服務,tar命令,直接將mysql的數據目錄打包
mysqldump hellodb(庫名) > hellodb.sql 這種方式是不會備份庫的創建方式的,所以在當把hellodb數據庫刪除之后,可以把庫里面的表和里面的數據恢復,但是恢復不了庫;
mysqldump -B hellodb(庫名)> hellodb.sql 這種方式不僅會備份庫里面的表和數據,而且會將庫的創建過程也備份;
mysqldump備份數據庫-A,備份mysql和?定義數據庫,推薦使?。 會將mysql庫和自定義的庫包括創建方式和數據都備份下來;
mysqldump備份數據庫,-R備份所有存儲過程和?定義函數;
mysqldump -A 完全備份+mysqlbinlog組合 在完全備份前查看二進制日志當前的標記位,在完全備份后如果繼續對庫進行操作,就會使用二進制日志做增量備份
? ?> mysqldump -A > xx.sql (此時查看show master logs是mysql-bin.000001?8099)
? ?> mysqlbinlog --start-position=8099 /data/bin/mysql-bin.000001 > /data/backup/inc.sql(這個操作會將標記位8099后的對數據庫的操作記載下來,不會記載8099前的)
?> 在恢復數據時,先恢復全局備份,然后再恢復增量備份;
InnoDB備份選項:
??支持熱備,可用溫備但不建議用 --single-transaction 此選項Innodb中推薦使用,不適用MyISAM,此選項會開始備份前,先執行START TRANSACTION指令開啟事務 此選項通過在單個事務中轉儲所有表來創建一致的快照。 僅適用于存儲在支持多版本控制的存儲引擎中的表(目 前只有InnoDB可以); 轉儲不保證與其他存儲引擎保持一致。 在進行單事務轉儲時,要確保有效的轉儲文件(正 確的表內容和二進制日志位置),沒有其他連接應該使用以下語句:ALTER TABLE,DROP TABLE,RENAME TABLE,TRUNCATE TABLE此選項和--lock-tables(此選項隱含提交掛起的事務)選項是相互排斥備份大型表 時,建議將--single-transaction選項和--quick結合一起使用
?InnoDB建議備份策略 mysqldump –uroot –A –F –E –R --single-transaction --master-data=1 --flush-privileges -- triggers --default-character-set=utf8 --hex-blob > $BACKUP/fullbak_$BACKUP_TIME.sql
? ?推薦的InnoDB備份選項 mysqldump -A --single-transaction --master-data=1 --hex-blob > /data/backup/fullbak_`date +%F`.sql
? 一個Innodb分庫備份的腳本
? ? ??#!/bin/bsah?
? ? ? for db in `mysql -e 'show databases'|grep -Evi 'information_schema|performance_schema|test|Database'`;do?
? ? ? ? ? ? ? ?mysqldump -B ${db} --single-transaction --master-data=2 |gzip > /data/backup/${db}_`date +%F`.sql.gz?
? ? ? done
MyISAM備份選項:
? ?支持溫備;不支持熱備,所以必須先鎖定要備份的庫,而后啟動備份操作 鎖定方法如下: -x,--lock-all-tables:加全局讀鎖,鎖定所有庫的所有表,同時加--singletransaction或--lock-tables 選項會關閉此選項功能 注意:數據量大時,可能會導致長時間無法并發訪問數據庫 -l,--lock-tables:對于需要備份的每個數據庫,在啟動備份之前分別鎖定其所有表,默認為on,--skip-locktables選項可禁用,對備份MyISAM的多個庫,可能會造成數據不一致 注:以上選項對InnoDB表一樣生效,實現溫備,但不推薦使用?
? MyISAM建議備份策略 mysqldump –uroot –A –F –E –R –x --master-data=1 --flush-privileges --triggers --defaultcharacter-set=utf8 --hex-blob > $BACKUP/fullbak_$BACKUP_TIME.sql
mysql的主從
在主節點上開啟二進制日志,從節點上開啟中繼日志,而且server_id的編號主從不能相同,
主例子:
從:
在主服務器上創建一個有權限同步的用戶
? GRANT REPLICATION SLAVE ON *.* TO repluser@'192.168.23.148' IDENTIFIED BY '123456';? ?
從服務器:
CHANGE MASTER TO MASTER_HOST='master2.mycompany.com', MASTER_USER='replication', MASTER_PASSWORD='bigs3cret', MASTER_PORT=3306, MASTER_LOG_FILE='master2-bin.001', MASTER_LOG_POS=4;
start slave;
??
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。