程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> MySql Replication配置,mysqlreplication

MySql Replication配置,mysqlreplication

編輯:MySQL綜合教程

MySql Replication配置,mysqlreplication


一、前言

Mysql Replication作為讀寫分離的廉價解決方案,支持一主多備的方式進行數據存儲,采用二進制日志傳送,目前存在著廣泛應用,網上相關概念也比較多,不再重復介紹。引用一張官方提供的Replication應用場景圖片(http://dev.mysql.com/doc/refman/5.1/en/replication-solutions.html)。本文主要記錄了基於Linux環境下的Mysql Replication配置步驟。

 

二、環境准備

  IP_PORT OS Mysql Master 10.129.221.14:3306 CentOS 6.5 5.1.73 Slave 10.129.221.16:3306 CentOS 6.5 5.1.73 Slave ...    

 

三、在Master和Slave上分別開啟root用戶遠程訪問,並設置root用戶密碼,默認為空

mysql> use mysql;
mysql> update user set host = '%' where host ='127.0.0.1' and user = 'root';
mysql> update user set password = PASSWORD('glf_123') where user = 'root';
mysql> flush privileges;

 

四、在Master數據庫上創建一個repl用戶並進行授權,用於slave機器訪問master數據庫

mysql> create user 'repl'@'%' identified by 'glf_123';
mysql> grant replication slave on *.* to 'repl'@'%' identified by 'glf_123';
mysql> flush privileges;

修改後的user表數據如下:

 

五、在Master服務器上創建一個TestDB數據庫,用於Replication

 

六、修改Master數據庫的數據庫配置(/etc/my.cnf),開啟數據庫二進制日志記錄

[mysqld]
server-id=1                # 唯一ID
log-bin=mysql-bin          # 指定日志文件
binlog-do-db=TestDB        # 需要同步的數據庫
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

 

七、重啟Master數據庫

[root@VM-CentOS /]# service mysqld restar

 

八、檢查Master庫的Master狀態

mysql> SHOW MASTER STATUS;

顯示結果如下:

 

九、修改Slave數據庫配置(/etc/my.cnf)

[mysqld]
server-id=2     # 唯一ID
read_only=1     # 設置Slave庫只讀
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql 

# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

 

十、重啟Slave數據庫

[root@VM-CentOS /]# service mysqld restart

 

十一、設置slave節點replication指向master,在Slave庫執行change master command

change master to  
master_host='10.129.221.14',
master_user='repl',  
master_password='glf_123',
master_port=3306,  
master_log_file='mysql-bin.000001',
master_log_pos=0,  
master_connect_retry=10;

master_log_file表示Master數據庫中的log文件名,通過SHOW MASTER STATUS查詢;

master_log_pos 表示需要同步的二進制偏移量 ,0表示全部重新同步;

第八步中SHOW MASTER STATUS查詢顯示的是當前Position;

 

十二、在Salve服務器啟用slave模式

mysql> start slave;

 

十三、查看replication的執行情況、以及相關處理Process

mysql> SHOW SLAVE STATUS \G;
mysql> show processlist \G;

 

十四、至此MySQL Replication 相關的配置完成,在Master庫的任何修改都會通過事務日志提交到Slave。

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved