Mysql主從同步

主(Master)IP:192.168.1.101

從(Slave) IP:192.168.1.102


Master配置

1、首先登錄數據庫,創建複製賬號

mysql -uroot -p

mysql>grant replication slave,reload,super on *.*to mysqler@’192.168.1.102’ identified by ‘123456’;

2、進入配置文件my.cnf中

vim /etc/mysql/mysql.conf.d/mysqld.cnf

在配置文件加入如下值

server-id=1  #用於標識該語句最初是從哪個server寫入的
log-bin=/var/log/mysql/mysql-bin.log  #日誌路徑

3、重啓mysql服務器

service mysqld restart 或 /etc/init.d/mysqld restart (用於Ubuntu系統)

4、進入mysql下查看主機狀態

show master status;

wKiom1h0Pw7jvhf8AAAVgUys-1c399.png-wh_50


Slave配置

1、進入配置文件my.cnf中

vim /etc/mysql/mysql.conf.d/mysqld.cnf

在配置文件中加入如下值

server_id         = 2
relay_log         =mysql-relay-bin
replicate-do-db    =genecrab_report                               //指定的數據庫名
log_bin          =/var/log/mysql/mysql-bin.log

2、進入mysql中

mysql>CHANGE MASTER TO                       

        MASTER_HOST=’192.168.1.101’,       //Master IP地址

        MASTER_USER='mysqler',               //數據庫賬號

        MASTER_PASSWORD=’123456’,          //對應的賬號密碼

        MASTER_LOG_FILE='mysql-bin.000001',   

        MASTER_LOG_POS=184677;                // MASTER_LOG_POS的值爲0

注意

MASTER_LOG_FILE一定跟主中File 一致

MASTER_LOG_POS 一定跟主中Position一致

3、查看狀態

show slave status\G

wKiom1h0Py3w8appAACA1HUrh9o322.png-wh_50

4、開啓同步

start slave

注:

1、主要是看:
                  Slave_IO_Running=Yes
                  Slave_SQL_Running=Yes

slave的I/O和SQL線程都已經開始運行,而且Seconds_Behind_Master不再是NULL。日誌的位置增加了,意味着一些事件被獲取並執行了。如果你在master上進行修改,你可以在slave上看到各種日誌文件的位置的變化,同樣,你也可以看到數據庫中數據的變化。

你可查看masterslave上線程的狀態。在master上,你可以看到slaveI/O線程創建的連接:

2、可能還用到的命令

slave stop   //停止從數據庫配置

reset slave //復位從數據庫配置


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章