天天看點

記一次項目mysql主從同步實戰

master:

ip:192.168.3.109

作業系統:centos 7 64位

slave:

ip:192.168.3.104

作業系統:centos 7 64位

master機和slave機的相關配置

1、修改master機器中mysql配置檔案my.cnf,該檔案在/etc目錄下

記一次項目mysql主從同步實戰

在[mysqld]配置段添加如下字段

server-id=1

log-bin=mysql-bin

log-slave-updates=1

binlog-do-db=hsms  #需要同步的資料庫,如果沒有本行表示同步所有的資料庫

binlog-ignore-db=mysql  #被忽略的資料

在master機上為slave機添加一同步帳号

grant replication slave on *.* to dashi@'192.168.3.%' identified by 'XXXXXX';

flush  privileges;

重新開機master機的mysql服務:service mysqld restart

用show master status 指令看日志情況

記一次項目mysql主從同步實戰

通過該指令獲得File和Position,在slave中有用 。

注:基準這裡的“mysql-bin.000006”和“704291”

2、修改slave機中mysql配置檔案

修改slave機器中mysql配置檔案my.cnf,該檔案在/etc目錄下

記一次項目mysql主從同步實戰

一鍵安裝的my.cnf目錄在/home/itsm/project/mysql-5.7.25/bin下

同樣在[mysqld]字段下添加如下内容

server-id=2

log-bin= mysql-bin

relay-log= mysql-relay-bin

read-only=1

log-slave-updates=1

replicate-do-db=hsms #要同步的資料庫,不寫本行表示同步所有資料庫

然後重新開機slave機的mysql:service mysqld restart

a.進入mysql

mysql –uroot –p100100

b.指定master主機(注意master_log_file 和master_log_pos 與從機的File和Position一緻)

change master to master_host='192.168.3.109',master_port=3306,master_user='dashi',master_password='XXXXXX',master_log_file='master-bin. 000006,master_log_pos=704291;

c.啟動slave

start slave;

d.運作SHOW SLAVE STATUS檢視輸出結果:

主要檢視Slave_IO_Running和Slave_SQL_Running 兩列是否都為YES

兩列都為yes 則說明主從同步成功。

設定主從表引擎。

從表隻讀,設定為MyISAM

主表隻寫,設定為InnoDB

注:mysql5.7預設為InnoDB,是以隻用修改從表引擎。

記一次項目mysql主從同步實戰

将從表預設的InnoDB設定為MyISAM,儲存即可

繼續閱讀