本篇文章給大家帶來了關于redis的相關知識,其中主要介紹了關于主從復制的相關內容,Redis因為其高性能和易用性在我們后端的服務中發揮了巨大的作用,并且很多重要功能的實現都會依賴redis,下面一起來看一下,希望對大家有幫助。
千萬級數據并發如何處理?進入學習
推薦學習:Redis視頻教程
主服務器(master)啟用二進制日志 選擇一個唯一的server-id 創建具有復制權限的用戶
從服務器(slave)啟用中繼日志, 選擇一個唯一的server-id 連接至主服務器,并開始復制
主庫ip:192.168.235.130 端口:3306 從庫ip:192.168.235.139 端口:3306
主庫配置
(1)設置server-id值并開啟binlog參數
[mysqld]
log_bin = mysql-bin
server_id = 130
重啟數據庫
(2)建立同步賬號
creat user 'rep1'@'192.168.10.139' identified with mysql_native_password by 'Test@1234'#設置賬戶密碼
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)鎖表設置只讀
為后面備份準備,注意生產環境要提前申請停機時間;
mysql> flush tables with read lock;
提示:如果超過設置時間不操作會自動解鎖。
mysql> show variables like '%timeout%';
測試鎖表后是否可以創建數據庫
4)查看主庫狀態 查看主庫狀態,即當前日志文件名和二進制日志偏移量
mysql> show master status;
記住file和position,方便slave后續連接。
(5)備份數據庫數據
mysqldump -uroot -p -A -B |gzip > mysql_bak.$(date +%F).sql.gz
(6)解鎖
mysql> unlock tables;
(7)主庫備份數據上傳到從庫
scp /server/backup/mysql_bak.2022-09-22.sql.gz 192.168.235.139:/root/hh
從庫上設置
(1)設置server-id值并關閉binlog參數
#log_bin = /data/mysql/data/mysql-bin
server_id = 139
重啟數據庫
(2)還原從主庫備份數據
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)設定從主庫同步
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)啟動從庫同步開關
mysql> start slave;
檢查狀態:
mysql> show slave statusG
主備復制功能達成。
下面進行測試:
在192.168.235.130(主)上執行:
create databses data;
新建數據庫
從虛擬機上也建好了data文件,實現了Mysql的主從復制。
推薦學習:Redis視頻教程