Mysql主從復制

基于日志點的復制和基于GTID的復制;

  • 基于日志點的主從復制
1、主從節點的ip地址
主節點:192.168.3.100,從節點:192.168.3.101
2、在主節點的服務器中建立授權用戶
mysql -uroot -p
create user repl@'192.168.3.%' identified by '123456';
grant replication slave on *.* to repl@'192.168.3.%';
3、在主節點中配置相關信息
全局唯一的server-id:
server-id = 1;
log-bin = /home/mysql/sql_log/mysql-bin
4、在從節點中配置相關信息
server-id=2
log-bin= /home/mysql/sql_log/mysql-bin
relay_log = /home/mysql/sql_log/mysql-relay-bin
5、初始化從數據庫
備份主數據庫中數據:
mysqldump --single-transaction --master-data --triggers --rountines --all-databases -uroot -p >> all.sql
將其拷貝到從節點中的root目錄下面:
scp all.sql root@192.18.3.101:/root
從節點數據庫初始化:
mysql -uroot -p < all.sql
6、數據鏈路的配置
從節點上進行配置:
change master to master_host = '192.168.3.100',
master_user='repl',
master_password='123456',
##二進制日志點的位置和偏移量在主節點的log-bin日志中
MASTER_LOG_FILE='mysql-bin.000003',
MASTER_LOG_POS=1839;
7、開啟鏈路
在從節點上開啟鏈路:
start slave;
show slave status;
  • 基于GTID的主從復制
1、主從節點的ip地址
主節點:192.168.3.100,從節點:192.168.3.101
2、在主節點的服務器中建立授權用戶
mysql -uroot -p
create user repl@'192.168.3.%' identified by '123456';
grant replication slave on *.* to repl@'192.168.3.%';
3、修改主節點的配置
包含基于日志點的兩個參數設置
gtid_mode=on
enforce_gtid_consistency=on
4、修改從節點的配置
master_info_repository=TABLE
relay_log_info_repository=TABLE
gtid_mode=on
enforce_gtid_consistency=on
5、重啟數據庫服務器
6、初始化數據庫
備份主數據庫中數據:
mysqldump --single-transaction --master-data --triggers --rountines --all-databases -uroot -p >> all2.sql
將其拷貝到從節點中的root目錄下面:
scp all2.sql root@192.18.3.101:/root
從節點數據庫初始化:
mysql -uroot -p < all2.sql
7、數據鏈路的配置
change master to master_host = '192.168.3.100',
master_user='repl',
master_password='123456',
master_auto_position=1;
8、開啟鏈路
在從節點上開啟鏈路:
start slave;
show slave status;
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容