詳解mysql double master的配置方法

藏色散人
發布: 2021-09-15 17:30:20
轉載
2240 人瀏覽過

假設兩台機器 ip 分別為機器一: 192.168.14.37  機器二:  192.168.14.38 ,伺服器為linux R#hel 5.9

##在兩台伺服器中執行建立使用者語句:

mysql:>create user 'repl'@'%' identified by '135246';       -- 创建用户  repl  密码 135246
登入後複製
伺服器一執行:

mysql:>grant replication client,replication slave on *.* to 'repl'@'192.168.14.38' identified by '135246';    -- 授权服务器一可以远程访问服务器二
登入後複製
伺服器二執行:

mysql:>grant replication client,replication slave on *.* to 'repl'@'192.168.14.37' identified by '135246';     -- 授权服务器二可以远程访问服务器一
登入後複製
驗證(根據提示輸入密碼) :

在伺服器一上連接伺服器二

mysql -h 192.168.14.38 -u repl -p
登入後複製
在伺服器二上連接伺服器一

mysql -h 192.168.14.37 -u repl -p
登入後複製
查看mysql :

首先:

vi /etc/my.cnf 在伺服器1, 新增以下內容:

[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
server_id = 1
log-bin
character-set-server=utf8
#表名不区分大小写
lower_case_table_names=1
#server_id = 1 # uniquely identify  从为2


show master  status
登入後複製
可以得到伺服器一和伺服器二的 MASTER_LOG_FILE  和 MASTER_LOG_POS 訊息,

假设服务器一为   " localhost-bin.000004" 和 "120"


   服务器二为   " localhost-bin.000005" 和 "667"
登入後複製
在伺服器一上執行:

stop slave;

CHANGE MASTER TO MASTER_HOST = '192.168.14.38', MASTER_USER = 'repl', MASTER_PASSWORD = '135246', MASTER_LOG_FILE = 'localhost-bin.000004', MASTER_LOG_POS = 120; 

start slave;
登入後複製
在伺服器二上執行:

stop slave;

CHANGE MASTER TO MASTER_HOST = '192.168.14.37', MASTER_USER = 'repl', MASTER_PASSWORD = '135246', MASTER_LOG_FILE = 'localhost-bin.000005', MASTER_LOG_POS = 667; 

start slave;
登入後複製
最後驗證主主同步是否成功:

在伺服器一mysql 新增表example

mysql:> create database example1 ;

use example1;

create table example1 (length int);
登入後複製
最後在伺服器二查看是否有此資料庫,此表,和此條資料.

查看同步狀態:

show slave status \G

如果出錯,可以看到出錯日誌。

錯誤導致同步失敗參考mysql slave-skip-errors=all 深層理解

注意: 設定double master 之前的數據,兩個伺服器不會同步;

#推薦學習:《

mysql影片教學

#

以上是詳解mysql double master的配置方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:segmentfault.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板