CentOS7下Mysql5.7主從資料庫配置
阿新 • • 發佈:2018-12-14
本文配置主從使用的作業系統是Centos7,資料庫版本是mysql5.7。
準備好兩臺安裝有mysql的機器(mysql安裝教程連結)
主資料庫配置
每個從資料庫會使用一個MySQL賬號來連線主資料庫,所以我們要在主資料庫裡建立一個賬號,並且該賬號要授予 REPLICATION SLAVE 許可權
建立一個同步賬號
create user 'repl'@'%' identified by 'repl_Pass1';
授予REPLICATION SLAVE許可權:
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';
要配置主資料庫,必須要啟用二進位制日誌,並且建立一個唯一的Server ID,開啟mysql的配置檔案並編輯(位置/etc/my.cnf),增加如下內容
log_bin=master-bin log_bin_index = master-bin.index server-id=4 expire-logs-days=7 binlog_ignore_db=mysql binlog_ignore_db=information_schema binlog_ignore_db=performation_schema binlog_ignore_db=sys binlog_do_db=mybatis
log_bin=master-bin 啟動MySQL二進位制日誌
log_bin_index = master-bin.index
server-id=4 伺服器唯一標識
expire-logs-days=7 二進位制日誌的有效期
binlog_ignore_db=mysql 不需要同步的資料庫
binlog_ignore_db=information_schema
binlog_ignore_db=performation_schema
binlog_ignore_db=sys
binlog_do_db=mybatis 需要同步的資料庫名字
重啟mysql服務,檢視主伺服器狀態:
show master status;
注意將方框裡的兩個值記錄下來,後面在配置從資料庫的時候用到。
從資料庫配置
同樣編輯配置檔案my.cnf,插入如下內容
server-id = 2 relay-log = slave-relay-bin relay-log-index = slave-relay-bin.index
重啟mysql服務,在slave伺服器中登陸mysql,連線master主伺服器資料庫(引數根據實際填寫)
change master to master_host='192.168.134.10', master_port=3306, master_user='repl', master_password='repl_Pass1', master_log_file='master-bin.000001', master_log_pos=2237;
啟動slave
start slave;
測試主從是否配置成功
主從同步的前提必須是兩個資料庫都存在,本案例中我們需要建好兩個名為mybatis的資料庫
主庫建立一個表
發現從庫也建立了相同的表,然後發現主庫的增刪改操作都會自動同步。