MySQL主從搭建筆記
阿新 • • 發佈:2022-04-22
前言:環境介紹
作業系統:windows10,64,;
MySQL版本:解壓方式安裝的MySQL8.0.20
一、配置主從的mysql配置檔案
1.my.ini配置:
master:
#主從--master設定
server-id=1
log-bin=mysql-bin
binlog_format=row
master配置完後,重啟master的MySQL服務。
slave:
#主從--slave設定 server-id=2 log-bin=mysql-bin binlog_format=row master_info_repository=TABLE relay_log_info_repository=TABLE log_slave_updates=on relay_log_recovery=1
slave配置完後,重啟slave的MySQL服務。
二、在主庫建立主從複製的mysql賬號
CREATE USER mysqlsync@'%' IDENTIFIED BY '123456';
GRANT REPLICATION SLAVE ON *.* TO mysqlsync@'%';
三、備份主庫指定資料庫
mysqldump -P3306 -uroot -p123456 --single-transaction --master-data=2 --databases test>d:/test.sql
--single-transaction:是為了得到一個一致性備份,在到處資料之前開啟一個事物,由資料庫保證單次匯出資料的一致性,此時針對InnoDB表的所有讀寫操作均不會被阻塞。
--master-data=2:讓備份出來的檔案中備份這一時刻的binlog檔案和position號
四、在從庫上恢復主庫的備份
source d:/test.sql;
五、啟動從庫服務
在從庫上執行:
CHANGE MASTER to master_host='127.0.0.1',master_user='mysqlsync',master_password='123456',master_log_file='binlog.000003',master_log_pos=2332;
注意,務必和備份檔案中兩個引數:MASTER_LOG_FILE、MASTER_LOG_POS 一致。
接著執行
start slave;
show slave status\G
確保以下兩項均為Yes,說明主從服務正常:
Slave_IO_Running:Yes
Slave_SQL_Running: Yes
六、測試
在主庫上建表,並插入資料
create database test;
use test;
CREATE TABLE `stu` (
`id` bigint NOT NULL AUTO_INCREMENT,
`code` varchar(30) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=In
INSERT INTO test.stu (code) VALUES
('001'),
('002');
到從庫看一下,是否有了?