mysql 三主_MySQL主主復制3

一、創建并授權用戶

在每一臺(主)服務器上創建一個用戶,并為之授權,使它們可以互相訪問彼此的數據庫

在Server-1上:

創建一個充許Server-2來訪問的用戶server2,密碼為:server2

mysql> GRANT REPLICATION SLAVE ON *.*

> TO ‘server2’@’192.168.0.2’ IDENTIFIED BY ‘server2’;

在Server-2上:

創建一個充許Server-1來訪問的用戶server1,密碼為:server1

mysql> GRANT REPLICATION SLAVE ON *.*

> TO ‘server1’@’192.168.0.1’ IDENTIFIED BY ‘server1’;

編者注:最好整成同一個用戶和同一個密碼!!

二、修改MySQL主配置文件

在MySQL的主配置文件中修改/添加如下內容:

Server-1上:

[mysqld]

server-id = 10

log-bin = mysql-bin

replicate-do-db = mydb

auto-increment-increment = 2

auto-increment-offset=1

# service mysqld restart

Server-2上:

[mysqld]

server-id = 20

log-bin = mysql-bin

replicate-do-db = mydb

auto-increment-increment = 2

auto-increment-offset =2

# service mysqld restart

注:二者只有server-id不同和 auto-increment- offset不同

auto-increment-offset是用來設定數據庫中自動增長的起點的,因為這兩臺服務器都設定了同一個自動增長值2,所以它們的起點必須得不同,這樣才能避免兩臺服務器數據同步時出現主鍵沖突

replicate-do-db 指定同步的數據庫,我們只在兩臺服務器間同步mydb數據庫

另:auto-increment-increment的值應設為整個結構中服務器的總數,本案例用到兩臺服務器,所以值設為2

三、復制其中一臺服務器的數據庫到另外一臺服務器

這一步中誰做為源數據不重要,重要的是在正式的復制(Replication)開始之前兩臺服務都能準確的反應彼此的數據。

我們可以先從源數據庫中導出數據到備份文件,這里我們使用mysqldump命令

以Server-1上數據庫為源數據庫

備份數據前先鎖表,保證數據一致性

mysql> FLUSH TABLES WITH READ LOCK;

> SHOW MASTER STATUS;

+—————–+————+—————-+——————–+

|File | Position | Binlog_Do_DB | Binlog_Ignore_DB |

+—————–+————+—————-+——————–+

|mysql-bin.000006 | 213 | | |

+—————–+————+—————-+——————–+

該結果顯示,源服務器現在處于6號二進制文件的213位置

開始備份數據庫

# mysqldump –user=root -p mydb > /tmp/mydb.sql

備份完畢,現在可以解鎖數據庫表

mysql> UNLOCK TABLES;

Query OK, 0 rows affected (0.00 sec)

四、將備份數據導入Server-2

先在Server-2上創建一個與mydb同名的空數據庫

# mysql

> CREATE DATABASE mydb;

>\q

# scp 192.168.0.1:/tmp/mydb.sql ./

# mysql -uroot -p mydb < /tmp/mydb.sql

此時,我們需要注意當前服務器的二進制日志的位置

# mysql

> LOCK TALBES WITH READ LOCK;

> SHOW MASTER STATUS;

+—————–+————+—————-+——————–+

|File | Position | Binlog_Do_DB | Binlog_Ignore_DB |

+—————–+————+—————-+——————–+

|mysql-bin.000001 | 106 | | |

+—————–+————+—————-+——————–+

1 row in set (0.00 sec)

> UNLOCK TABLES;

五、互相通告二進制日志位置

在Server-1上:

# mysql

> CHANGE MASTER TO

> MASTER_HOST=’192.168.0.2′,

> MASTER_USER=’server1′, //???

> MASTER_PASSWORD=’server1′,

> MASTER_LOG_FILE=’mysql-bin.000001′,

> MASTER_LOG_POS=106;

在Server-2上:

# mysql

> CHANGE MASTER TO

> MASTER_HOST=’192.168.0.1′,

> MASTER_USER=’server2′,

> MASTER_PASSWORD=’server2′,

> MASTER_LOG_FILE=’mysql-bin.000006′,

> MASTER_LOG_POS=213;

六、啟動復制(Replication)功能

在兩臺主機上分別執行

# mysql

> START SLAVE;

配置到此完成!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/277576.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/277576.shtml
英文地址,請注明出處:http://en.pswp.cn/news/277576.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

0727日志

為什么80%的碼農都做不了架構師&#xff1f;>>> c端線上地址 http://x.diandanme.com/fe/?d183#/ 什么時候來需求&#xff0c;我做好準備了嗎&#xff1f; eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC94LmRpYW5kYW5tZS5jb21cL2FwaVwvd2VjaGF0XC…

Python基礎學習總結__Day3

一、集合 1&#xff0e;特性&#xff1a;無序且天生去重&#xff0c;格式為{} 2&#xff0e;作用&#xff1a; &#xff08;1&#xff09;去重 &#xff08;2&#xff09;關系測試 3&#xff0e;可調用函數&#xff08;常見對列表操作&#xff09; &#xff08;1&#xff09;取…

day8網絡編程,面向對象1

一.只是回顧 1.導入模塊的順序,首先從當前目錄下找,再從環境變量里面找,使用"sys.path.insert(0,需要導入的環境變量)"加入需要導入文件的環境變量; 2.如果不同項目中有相同的文件,需要導入文件,需要將非當前項目中右鍵添加的環境變量取消,將當前的環境變量添加上去;…

mysql練手數據_MySQL新手練習

操作插入數據 的語法 :INSERT INTO 表名稱 VALUES(值1&#xff0c;值2&#xff0c;......);修改數據 的語法&#xff1a;UPDATE 表名稱 SET 字段名1 值1, 字段名2值2,...... 【WHERE 條件】;刪除數據 的語法&#xff1a;delete from 表名 【[where 條件】;delete 表1&#xff…

spring security config

spring secuirty 相關的配置解析 permitAll()與web.ignoring() ingore是完全繞過了spring security的所有filter&#xff0c;相當于不走spring securitypermitall沒有繞過spring security&#xff0c;其中包含了登錄的以及匿名的。轉載于:https://www.cnblogs.com/MND1024/p/10…

TSPITR方式數據庫找回誤操作丟失的數據

一、TSPITR介紹 TSPITR全稱是Tablespace Point In Time Recover&#xff08;表空間基于時間點的不完全恢復&#xff09;。原理是通過輔助實例基于時間還原出誤操作前的數據通過DataPump將數據導入到目標數據庫。TSPITR的最大好處是不需要生產庫停機。 二、適用場景 表空間時點恢…

烏班圖系統的MySQL_烏班圖系統mysql主從備份

一&#xff0e;準備系統&#xff1a;ubuntu 14.04.2 LTSMysql: server version 5.5.43兩臺主機可以互相通信&#xff1a;192.168.1.11 master192.168.1.12 slave二&#xff0e;步驟Master部分&#xff1a;1.創建備份帳號&#xff1a;slave密碼&#xff1a;slaveGrant repl…

mysql table alter_MySQL-ALTER TABLE命令學習[20180503]

學習ALTER TABLE刪除、添加和修改字段和類型CREATE TABLE alter_tab01(id int,col01 char(20))enginInnoDB default charsetutf8;刪除字段ALTER TABLE DROP ;mysql> alter table alter_tab01 dropcol01;Query OK, 0 rows affected (0.01sec)Records: 0 Duplicates: 0 Warnin…

時間戳轉換

13 位時間戳轉換 1 通過java&#xff0c;如下&#xff1a; public static String timeStamp2Date(String time) {Long timeLong Long.parseLong(time);SimpleDateFormat sdf new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//要轉換的時間格式Date date;try {date …

React.Component(V16.8.6)

組件的生命周期 掛載 當組件實例被創建并插入 DOM 中時&#xff0c;其生命周期調用順序如下&#xff1a; constructor()static getDerivedStateFromProps()render()componentDidMount()componentWillMount() 之后將廢棄 更新 當組件的 props 或 state 發生變化時會觸發更新。組…

mysql date類型加一個月jdbc_JDBC操作數據庫Date類型數據

JDBC操作數據庫Date類型數據由于java原生的工具類java.util提供的Date對象與JDBC提供的Date對象并不相同分別是java.util.Date和java.sql.Datejava.sql.Date是java.util.Date的子類所以在進行增刪改查部分操作中&#xff0c;不能直接將原生工具類的Date對象直接運用到JDBC中可以…

使用深度學習TensorFlow框架進行圖片識別

Apsara Clouder大數據專項技能認證&#xff1a;使用深度學習TensorFlow框架進行圖片識別本認證系統的介紹了深度學習的一些基礎知識&#xff0c;以及Tensorflow的工作原理。通過阿里云機器學習PAI基于經典的CIFAR-10數據集實現圖片識別。學員可以通過本實驗&#xff0c;對深度學…

刪除開發分支 新建另一個開發分支

//查看狀態 git status //查看分支 會有一個分支git branch -d wlh-dev git branch //刪除wlh-dev 分支 git branch -d wlh-dev //再次查看分支 git branch //拉代碼 git pull //查看狀態 git status //新分支創建的同時切換分支 git checkout -b wlh-dev1222 //…

ES語法及-IK分詞器

{"query": {"query_string": {"default_field": "title",//全文搜索"query": "器大"}} } "id":1, "title":"Elasticsearch是一個基于Lucene的搜索服務器", "content":&q…

Git倉庫配置

安裝git依賴包 yum -y install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker 源碼安裝 wget https://github.com/git/git/archive/v2.7.4.zip unzip v2.7.4.zip cd git-2.7.4 make prefix/usr/local/git all make prefix/usr/l…

python3 tkinter電子書_Python3 Tkinter-Text

1.創建from tkinter import *rootTk()tText(root)t.pack()root.mainloop()2.添加文本from tkinter import *rootTk()tText(root)t.insert(1.0,0123456789)t.insert(1.0,ABDCEFGHIJ)t.pack()root.mainloop()3.設置添加位置from tkinter import *rootTk()tText(root)for i in ran…

問題 1: 區間交集

問題 1: 區間交集 題目描述 輸入 5 個正整數 a1、b1、a2、b2 和 c&#xff0c;如果 c 在區間[a1, b1]內 并且 c 也在區間[a2, b2]內&#xff0c;輸出”in”&#xff0c;否則輸出”out”。 注意&#xff1a;方括號表示的是閉區間&#xff0c;[a, b]是包括 a 和 b 的。 輸入 一行…

python倒三角形粉色填充筆的形狀海龜_Python001-Turtle(海龜繪圖)詳解

一、簡介Turtle庫是Python語言中的一個繪制圖像的函數庫。詳細文檔&#xff1a; https://docs.python.org/zh-cn/3/library/turtle.html二、使用1.畫布設置(canvas)(1)設置畫布大小turtle.screensize(canvwidthNone, canvheightNone, bgNone)參數分別為畫布的寬(單位像素), 高,…

Python 提取數據庫(Postgresql)并郵件發送

剛入門python&#xff0c;發現確實是一個不錯的語言。業務部門要求將將某一個數據庫中的表&#xff0c;定期發送到相關部門人員郵箱。其實整個業務需求很簡單&#xff0c;實現起來也不難。但是由于剛入門python&#xff0c;所以還是借鑒了不上網上的內容&#xff0c;也得到了許…

4.Python的不堪一擊到初學乍練(列表,元組)

Python(列表,元組) 一.列表 列表初識 列表是python的基礎數據類型之一,其他編程語言也有類似的數據類型. 比如JS中的數組, java中的數組等等,它是以[ ]括起來, 每個元素用","隔開并且可以存放各種數據類型.列表相比于字符串,不僅可以存放不同的數據類型,并且可以存放…