Mysql DBA面試題及項目案例


面試問題: SBR和RBR什么區別?怎么選擇?
SBR: 可讀性較強,對於范圍操作日志量少,但是可能會出現記錄不准確的情況.
RBR: 可讀性較弱,對於范圍操作日志大,不會出現記錄錯誤.
高可用環境中的新特性要依賴於RBR
我們公司對數據的嚴謹性要求較高,也用用到了新型的架構,所以選擇RBR

 

 

 

 

4.5 故障模擬演練
4.5.1 准備數據
create database backup;
use backup
create table t1 (id int);
insert into t1 values(1),(2),(3);
commit;
rm -rf /backup/*

4.5.2 周二 23:00全備

mysqldump -uroot -p123 -A -R --triggers --set-gtid-purged=OFF --master-data=2 --single-transaction|gzip > /backup/full_$(date +%F).sql.gz


4.5.3 模擬周二 23:00到周三 10點之間數據變化
use backup
insert into t1 values(11),(22),(33);
commit;
create table t2 (id int);
insert into t2 values(11),(22),(33);
commit;

4.5.4 模擬故障,刪除表(只是模擬,不代表生產操作)
drop database backup;

4.6 恢復過程
4.6.1 准備臨時數據庫(多實例3307)
systemctl start mysqld3307
4.6.2 准備備份
(1)准備全備:
cd /backup
gunzip full_2018-10-14.sql.gz
(2)截取二進制日志
-- CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000002', MASTER_LOG_POS=753;
753
1519
mysqlbinlog --skip-gtids --start-position=753 --stop-position=1519 /data/binlog/mysql-bin.000002 >/backup/bin.sql


4.6.3 恢復備份到臨時庫
mysql -S /data/3307/mysql.sock
set sql_log_bin=0;
source /backup/full_2019-07-15.sql
source /backup/bin.sql

4.6.4 將故障表導出並恢復到生產
mysqldump -S /data/3307/mysql.sock -B backup >/backup/bak.sql
mysql -uroot -p123
set sql_log_bin=0
source /backup/bak.sql;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM