本篇文章給大家?guī)砹岁P(guān)于redis的相關(guān)知識(shí),其中主要介紹了關(guān)于主從復(fù)制的相關(guān)內(nèi)容,Redis因?yàn)槠涓咝阅芎鸵子眯栽谖覀兒蠖说姆?wù)中發(fā)揮了巨大的作用,并且很多重要功能的實(shí)現(xiàn)都會(huì)依賴redis,下面一起來看一下,希望對(duì)大家有幫助。
千萬級(jí)數(shù)據(jù)并發(fā)如何處理?進(jìn)入學(xué)習(xí)
推薦學(xué)習(xí):Redis視頻教程
主服務(wù)器(master)啟用二進(jìn)制日志 選擇一個(gè)唯一的server-id 創(chuàng)建具有復(fù)制權(quán)限的用戶
從服務(wù)器(slave)啟用中繼日志, 選擇一個(gè)唯一的server-id 連接至主服務(wù)器,并開始復(fù)制
主庫ip:192.168.235.130 端口:3306 從庫ip:192.168.235.139 端口:3306
主庫配置
(1)設(shè)置server-id值并開啟binlog參數(shù)
[mysqld]
log_bin = mysql-bin
server_id = 130
重啟數(shù)據(jù)庫
(2)建立同步賬號(hào)
creat user 'rep1'@'192.168.10.139' identified with mysql_native_password by 'Test@1234'#設(shè)置賬戶密碼
grant replication slave on *.* to 'rep1'@'192.168.235.139';
grant replication slave on *.* to 'rep1'@'192.168.235.139';
show grants for 'rep1'@'192.168.235.139';
(3)鎖表設(shè)置只讀
為后面?zhèn)浞轀?zhǔn)備,注意生產(chǎn)環(huán)境要提前申請(qǐng)停機(jī)時(shí)間;
mysql> flush tables with read lock;
提示:如果超過設(shè)置時(shí)間不操作會(huì)自動(dòng)解鎖。
mysql> show variables like '%timeout%';
測(cè)試鎖表后是否可以創(chuàng)建數(shù)據(jù)庫
4)查看主庫狀態(tài) 查看主庫狀態(tài),即當(dāng)前日志文件名和二進(jìn)制日志偏移量
mysql> show master status;
記住file和position,方便slave后續(xù)連接。
(5)備份數(shù)據(jù)庫數(shù)據(jù)
mysqldump -uroot -p -A -B |gzip > mysql_bak.$(date +%F).sql.gz
(6)解鎖
mysql> unlock tables;
(7)主庫備份數(shù)據(jù)上傳到從庫
scp /server/backup/mysql_bak.2022-09-22.sql.gz 192.168.235.139:/root/hh
從庫上設(shè)置
(1)設(shè)置server-id值并關(guān)閉binlog參數(shù)
#log_bin = /data/mysql/data/mysql-bin
server_id = 139
重啟數(shù)據(jù)庫
(2)還原從主庫備份數(shù)據(jù)
cd /server/backup/ gzip -d mysql_bak.2022-09-22.sql.gz mysql -uroot -p < mysql_bak.2022-09-22.sql
檢查還原:
mysql -uroot -p -e 'show databases;'
(3)設(shè)定從主庫同步
mysql> change master to -> master_host='192.168.235.130', -> master_port=3306, -> master_user='rep1', -> master_password='Test@1234', -> master_log_file='mysql-bin.000006', -> master_log_pos=157;
(4)啟動(dòng)從庫同步開關(guān)
mysql> start slave;
檢查狀態(tài):
mysql> show slave statusG
主備復(fù)制功能達(dá)成。
下面進(jìn)行測(cè)試:
在192.168.235.130(主)上執(zhí)行:
create databses data;
新建數(shù)據(jù)庫
從虛擬機(jī)上也建好了data文件,實(shí)現(xiàn)了Mysql的主從復(fù)制。
推薦學(xué)習(xí):Redis視頻教程