mysql安裝點(diǎn)擊此處
站在用戶的角度思考問題,與客戶深入溝通,找到單縣網(wǎng)站設(shè)計(jì)與單縣網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:成都網(wǎng)站建設(shè)、做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、空間域名、網(wǎng)絡(luò)空間、企業(yè)郵箱。業(yè)務(wù)覆蓋單縣地區(qū)。MySQL主從介紹
MySQL主從又叫做Replication、AB復(fù)制。簡(jiǎn)單講就是A和B兩臺(tái)機(jī)器做主從后,在A上寫數(shù)據(jù),另外一臺(tái)B也會(huì)跟著寫數(shù)據(jù),兩者數(shù)據(jù)實(shí)時(shí)同步。
MySQL主從是基于binlog的,主上須開啟binlog才能進(jìn)行主從。
指定數(shù)據(jù)庫同步操作:
環(huán)境說明:需求是創(chuàng)建主從復(fù)制環(huán)境,要求master端只同步主庫中的test庫到 slave端
master端IP:10.10.10.1 slave端IP:10.10.10.2
主從復(fù)制條件:
1.開啟主庫binlog功能
2.開啟主從庫server-id
3.確保主從配置文件my.cnf所有server-id不同
4.主庫建立同步的賬戶rep并且授權(quán)replication
5.在主庫鎖表flush tables with read lock; 并查看主庫上binlog文件及位置點(diǎn)
show master status\G;記錄下此binlog文件和位置點(diǎn)。
6.在master端新開mysql窗口導(dǎo)出全備,恢復(fù)備份數(shù)據(jù)到從庫,
7.登錄從庫,CHANGE MASTER TO…..
自動(dòng)在從庫生成配置文件master.info
打開復(fù)制開關(guān)start slave;show slave status\G
8.解鎖,開放用戶寫入功能
操作過程:
主庫my.cnf配置文件件參數(shù):
vi /etc/my.cnf
server-id=1111 (和從庫不同即可)
log-bin=mysql-bin (開啟binlog)
binlog-do-db=數(shù)據(jù)庫名稱 (記錄指定庫的binlog,模式不同,記錄結(jié)果不同。)
binlog_format=mixed (設(shè)置binlog模式)
expire_logs_days = 7 (保留7天的binlog)
重啟master端mysql
centos 6:
/etc/init.d/mysql restart
centos 7:
systemctl restart mysql
從庫my.cnf配置文件件參數(shù):
vim /etc/my.cnf
server-id=2222 (從庫的ID,和主庫不沖突即可)
重啟slave端mysql
centos 6:
/etc/init.d/mysql restart
centos 7:
systemctl restart mysql
一.master 上操作:
主庫建立同步的賬戶rep并且授權(quán)replication;在主庫鎖表flush tables with read lock; 并查看主庫上binlog文件及位置點(diǎn)
show master status\G;記錄下此binlog文件和位置點(diǎn)。
mysql -uroot -p'數(shù)據(jù)庫密碼' -e "grant replication slave on *.* to rep@'10.10.10.2' identified by 'rep@back123'; flush privileges;flush tables with read lock; show master status;"
備份指定數(shù)據(jù)庫數(shù)據(jù)
mysqldump -uroot -p'數(shù)據(jù)庫密碼' -B 數(shù)據(jù)庫名稱 --single-transaction --events|gzip >/root/數(shù)據(jù)庫名稱_$(date +%F).sql.gz (輸出壓縮的sql文件)
mysqldump -uroot -p'數(shù)據(jù)庫密碼' -B 數(shù)據(jù)庫名稱 --single-transaction --events >/root/數(shù)據(jù)庫名稱_$(date +%F).sql (輸出sql文件)
傳輸數(shù)據(jù)到slave端從庫機(jī)器
scp -rp -P ssh服務(wù)端口 sql文件名稱 root@從庫IP:/root/
二.slave上操作:
登陸從庫:
gzip -d test.sql.gz; source /root/test.sql;
stop slave;
reset slave all;
stop slave;
CHANGE MASTER TO
MASTER_HOST='主庫地址',
MASTER_PORT=3306, ------->端口
MASTER_USER='新建數(shù)據(jù)庫用戶',
MASTER_PASSWORD='新建用戶的密碼',
MASTER_LOG_FILE='日志文件名稱',
MASTER_LOG_POS=日志的Position值;
start slave;show slave status\G;
三.最后在master上執(zhí)行解鎖操作:
unlock tables;
到此處配置完成:
在master上創(chuàng)建測(cè)試表測(cè)試:
同步單個(gè)數(shù)據(jù)庫可以在主服務(wù)器或者從服務(wù)器上配置:
主服務(wù)器:
binlog-do-db= 僅同步指定的庫
binlog-ignore-db= 忽略指定的庫
從服務(wù)器:
replicate_do_db= 同步指定的庫
replicate_ignore_db= 忽略指定的庫
replicate_do_table= 同步指定的表
replicate_ignore_table= 忽略指定的表
replicate_wild_do_table= 如aming.%,支持通配符
replicate_wild_ignore_table=
主從過程
主將更改操作記錄到binlog中
從將主的binlog事件(SQL語句)同步到本機(jī)并記錄在relaylog中
從根據(jù)relaylog里面的SQL語句按順序執(zhí)行
說明: 該過程有三個(gè)線程,主上有一個(gè)log dump線程,用來和從的i/o線程傳遞binlog;從上有兩個(gè)線程,其中i/o線程用來同步主的binlog并生成relaylog,另外一個(gè)SQL線程用來把relaylog里面的SQL語句落地。
應(yīng)用環(huán)境
備份重要數(shù)據(jù)
分擔(dān)主庫數(shù)據(jù)讀取壓力
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。