您好,登錄后才能下訂單哦!
1.mysqldump -uroot -p123456 --single-transaction --master-data=2 --all-databases > /root/date +%F
.sql
--single-transaction,想當于啟了鏡像,數據庫可正常寫入。
--master-data=2 記錄備份那一時刻的二進制日志的位置,并且注釋掉,1是不注釋的用于二進制日志恢復
--all-databases 備份全部數據庫,--databases cs1 只備份cs1數據庫,可以備份多個,空格隔開
如果有主從復制且是基于gtid的 要加--set-gtid-purged=off
head -30 2019-09-06.sql |grep MASTER_LOG_FILE ##查看二進制文件所在位置
2.使用二進制文件,生成恢復文件
二進制開啟方法,在/etc/my.cnf 里添加 log_bin=(這里是路徑名加名稱),現網建議用網絡盤,這個文件非常重要
先在剛才的備份過的數據里再寫點數據
這里我用mysql -uroot -p123456 -e 'show master status;' 查看了二進制文件位置已經發生了變化,應為我增添了數據,我們在數據庫做的操作都會記錄在二進制日志文件當中,如果數據庫蹦了,我們用剛才備份記錄的位置對二進制文件進行恢復,就能取得剛才備份過后到數據庫蹦的這一時間的數據,在加上先前的備份就可以取得完整的數據
mysqlbinlog --start-position=245 /var/lib/mysql/log_bin.000008 >logbin.sql
#指定位置,二進制文件位置,恢復到那個目錄起什么名稱
3.恢復數據庫
2019-09-06.sql 是第一次完整備份的,先恢復這,再恢復后面二進制文件生成的備份數據。
這樣就完成數據完整備份恢復了,這種自帶的之適用于小型備份,1G以內的
1.先安裝
yum install percona-xtrabackup.x86_64 -y
#軟件在epel源里,在部署好epel源
2.完整備份
innobackupex --defaults-file=/etc/my.cnf --user=root --password="" --backup /root
上圖是軟件正確執行的返回結果,成功后root 目錄下會有個以日期命令的目錄,里面就是備份了
3.增量備份
innobackupex --user=root --password= --incremental /root/ --incremental-basedir=/root/2019-09-06_11-33-50
#--incremental /root/ 指定備份的路徑 --incremental-basedir= 這后面寫上次備份的目錄
4.對數據做同步,合并增量備份
innobackupex --apply-log --redo-only /root/2019-09-06_11-33-50/
#因為備份需要時間,備份的過程當中新的事物可能沒有同步到數據里,這個命令就是把當前的新事物同步到數據里,如果是最后一個備份,可做可不做,這邊后面還有一個增量備份,所用必須要做
innobackupex --incremental --apply-log --redo-only /root/2019-09-06_11-33-50/ --incremental-dir=/root/2019-09-06_11-40-39
#將后面增量備份的數據附加到完整數據里,這樣完整數據就包含了第二次備份的數據了,恢復時只恢復完整數據即可,命令第一個路徑是完整備份的路徑
5.恢復
innobackupex --defaults-file=/etc/my.cnf --copy-back /root/2019-09-06_11-33-50/
#直接恢復完整備份即可
ps 恢復的時候,mysql的根目錄不能有文件,需要刪了,恢復完了注意修改屬主,如果啟動不起來看看sulinux 是否關閉
1.先配置主節點配置文件
vim /etc/my.cnf
[mysqld]
skip_name_resolve=ON ##開啟跳過名稱解析
innodb_file_per_table=ON ##開啟獨立表空間
server_id=1 ##ID 唯一
log_bin=log-bin ##開啟二進制日志 必須的
rpl_semi_sync_master_enabled = ON #開機啟動半同步,如果模塊還沒安裝,先注釋掉
從節點
[mysqld]
skip_name_resolve=ON
innodb_file_per_table=ON
server_id=2
relay_log=relay-log ##開啟中繼日志,從節點必須開的
rpl_semi_sync_slave_enabled = ON ; #開機啟動半同步,如果模塊還沒安裝,先注釋掉
2.安裝半同步模塊
INSTALL PLUGIN rpl_semi_sync_slave SONAME 'semisync_slave.so';
#安裝模塊
set global rpl_semi_sync_master_enabled = ON;
#設置半同步狀態為啟動 注意如果要讓它自動啟動,要把它寫到配置文件里
SHOW GLOBAL VARIABLES LIKE '%semi%';
#查看狀態
從節點
配置下主從
CHANGE MASTER TO MASTER_HOST='192.168.0.14', MASTER_USER='rep', MASTER_PASSWORD='123456', MASTER_LOG_FILE='log_bin.000002', MASTER_LOG_POS=245;
INSTALL PLUGIN rpl_semi_sync_slave SONAME 'semisync_slave.so';
#安裝從節點模塊
set global rpl_semi_sync_slave_enabled = ON ;
#啟動模塊
SHOW GLOBAL VARIABLES LIKE '%semi%';
#看下啟動模塊啟動狀態
start slave;##啟動主從復制
show slave status\G; #查看主從復制狀態
3.查看狀態
SHOW GLOBAL STATUS LIKE '%semi%'
status 狀態 為 ON 說明 半同步配置成功
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。