1. 程式人生 > >mysql5.7在windows下面的主從複製配置

mysql5.7在windows下面的主從複製配置

目標:自動同步Master 伺服器上面的Demo資料庫到Slave 伺服器的Demo資料庫中。

對於一些作業系統比較強而使用頻率又不高的東西,往往好久不去弄就忘記了,所以要經常記錄起來,方便日後查閱。

環境

資料庫版本:mysql5.7.17

Master 伺服器(Windows server2012 R2):192.168.1.18 

Slave 伺服器 (win7 64bit):192.168.1.95

工具:Cmder(window神器)。你也可以直接用window的CMD。

注意:主從伺服器的防火牆都要給mysql埠新增例外。也就是說兩臺伺服器的mysql資料庫可以互連。

修改配置檔案

主庫

開始——執行—services.msc,開啟主庫的服務列表,找到服務MYSQL57 ,檢視該服務的配置檔案所在路徑。

開啟配置檔案my.ini,新增如下配置項

log-bin=mysql.bin
# 使binlog在每N次binlog寫入後與硬碟同步
sync-binlog=1

# 1天時間自動清理二進位制日誌
expire_logs_days=1

# 需要同步的資料庫
binlog-do-db=demo

# 不需要同步的資料庫
binlog-ignore-db = mysql                
binlog-ignore-db = test                      
binlog
-ignore-db = information_schema binlog-ignore-db = bak binlog-ignore-db = sys binlog-ignore-db = omserver binlog-ignore-db = sakila binlog-ignore-db = smp_base_1_0 binlog-ignore-db = smp_base_2 binlog-ignore-db = smp_emx_1_0 binlog-ignore-db = smp_emx_2 binlog-ignore-db = smp_maint_1_0 binlog
-ignore-db = smp_maint_2 # Error Logging. log-error="WIN-1QQDRPR5R2M.err" # Server Id. server-id=1

主伺服器上面有很多資料庫,而我們只需要同步其中一個數據庫demo。

從庫

以同樣的方式找到並開啟mysql資料庫配置檔案my.ini。

修改配置如下:

# Server Id.
server-id=95

# bind-address=192.168.1.95
log_bin=mysql-bin

# 二進位制日誌自動刪除的天數
expire_logs_days=1
需要注意的是:主庫和從庫的Server Id不能相同,通常我們將其設定為IP地址的末尾數值,假如IP是192.168.1.95,那麼我們設定95.

命令操作

主庫

1.連線到主庫

mysql -h 192.168.1.18 -uroot -p

2.建立授權使用者

grant replication slave on *.* to 'test'@'192.168.1.95' identified by 'yujie' ;

說明:test是mysql使用者名稱,yujie是密碼,192.168.1.95是從庫的IP地址。

3. 重新整理許可權

flush privileges;

 

6.建立測試資料

 create database test;
 use test;
 create table test(id int(11), value varchar(20));
 insert into test values(1, 'aa'),(2, 'bb'),(3, 'cc') ,(4, 'dd') ,(5, 'ff') ,(6, 'gg') ,(7, '77');

7. 顯示主伺服器的狀態資訊,並且找到File 和 Position 的值記錄下來

從庫

1.登入從庫

mysql -uroot -p

2 .將主庫的demo資料庫克隆一份到從庫,並給test使用者重新賦許可權。

grant all privileges on *.* to 'test'@'%' identified by 'yujie' with grant option;

3.重啟mysql服務

4.slavemaster 建立連線,進行資料同步

change master to master_host='192.168.1.18',master_user='test',master_password='yujie', master_log_file='mysql.000001',master_log_pos=937;

注意這裡的master_log_file和master_log_pos的值就是前面在主庫中查到的File和Position。

5.檢視從資料庫狀態

show slave status \G;

Slave_IO_Running: Yes Slave_SQL_Running: Yes以上兩項都為Yes說明配置成功。

驗證主從

在master 插入一條資料,然後再slave檢視是否同步成功。

主庫:

mysql> use demo;
Database changed
mysql> insert into test values(8, '88');
Query OK, 1 row affected (0.14 sec)

從庫:

mysql> use demo;
Database changed
mysql> select * from test;
+------+-------+
| id   | value |
+------+-------+
|    1 | aa    |
|    2 | bb    |
|    3 | cc    |
|    5 | ff    |
|    6 | gg    |
|    7 | 77    |
|    8 | 88    |
+------+-------+
7 rows in set (0.00 sec)

如上圖表示同步成功。

其實在mysql5.7之後還有另一種複製方式,那就是基於事務的複製,並且你可以在這兩種複製方式之間進行切換,我這裡只演示了通過二進位制日誌的形式進行復制。

參考資料:

相關推薦

Centos7安裝MySQL5.7和主從複製配置

一:MySQL安裝 1、下載tar包,這裡使用wget從官網下載 wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz 2、將mysql安裝

mysql5.7在windows下面主從複製配置

目標:自動同步Master 伺服器上面的Demo資料庫到Slave 伺服器的Demo資料庫中。 對於一些作業系統比較強而使用頻率又不高的東西,往往好久不去弄就忘記了,所以要經常記錄起來,方便日後查閱。 環境 資料庫版本:mysql5.7.17 Master 伺服器(Windows server

centos7下配置mysql5.7.24主從複製

前置條件 準備兩臺伺服器(可以是虛擬機器),系統為centos7 此處演示的兩臺伺服器:192.168.8.134、192.168.8.135 第一步:安裝mysql5.7.24 先在兩臺伺服器上安裝mysql5.7.24,安裝可參考: 安裝成功後,啟動mysql。如果是虛擬機器的話,在一臺安裝好之

MySQL5.7主從複製配置

1 my.cnf檔案 配置   binlog_format = ROW  log_bin_trust_function_creators=1  log-error = /usr/local/mysql/data/hostname.err  log-bin = /usr/local/mysql/arch/my

MySQL5.7主從複製配置,資料同步

MySQL5.7主主複製配置 主機1IP:172.16.1.206 主機2IP:172.16.1.226 一、首先安裝MySQL 5.7 1、解除安裝兩臺主機系統中已經有的mysql相關軟體包 rpm -qa | grep -i mysql yum remove my

mysql主從複製配置!轉!最簡!親測可用!18年11月21日

轉發地址:https://blog.csdn.net/deeplearnings/article/details/78398526   1、主從伺服器分別作以下操作:   1.1、版本一致   1.2、初始化表,並在後臺啟動mysql   1.3、修改

mysql5.1.73 主從複製的設定套路

2、修改主伺服器master:    #vi /etc/my.cnf   [client] #password       = your_password port    

Linux-centos之mysql讀寫分離的主從複製配置

Linux-centos之mysql讀寫分離的主從複製配置 一:概念 二:為什麼使用讀寫分離 三:操作步驟 一:概念 基本的原理:讓主資料庫處理事務性增、改、刪操作(INSERT、UPDATE、DELETE),而從

MySQL 5.7.22 主從複製配置

一、主從複製原理 MySQL 主從複製是一個非同步的複製過程,主庫傳送更新事件到從庫,從庫讀取更新記錄,並執行更新記錄,使得從庫的內容與主庫保持一致。每一個主從複製的連線,都有三個執行緒。擁有多個從庫的主庫為每一個連線到主庫的從庫建立一個 log dump 輸出執行緒,每一

mysql 主從複製 配置記錄

兩臺伺服器mysql實現主從複製 準備步驟: 兩臺已經安裝好mysql資料庫的伺服器 上一篇有提到安裝mysql5.7.24 主伺服器配置: 建立mysql遠端登入角色和許可權: mysql> create user 'realfake'@'106.12.203.18'

Linux下mysql主從複製配置(CentOS7)

主從複製需要注意: 1、資料庫版本必須一致 2、資料庫名稱必須一致   例如db888 3、配置主資料庫開啟二進位制日誌 4、主資料庫、從資料庫必須具有一個唯一的server-id 配置主從資料庫複製: 一:操作主庫 1、修改主庫的配置檔案     vi /e

CentOS6中MySql5.6資料庫主從複製/讀寫分離(二)

程式碼層面實現讀寫分離 在文章(一)中我們已經有了兩個資料庫而且已經實現了主從資料庫同步,接下來的問題就是在我們的業務程式碼裡面實現讀寫分離,假設我們使用的是主流的ssm的框架開發的web專案,這裡面我們需要多個數據源。 在此之前,我們在專案中一般會使用一

3.2redis主從複製配置

redis主從複製配置(2.2) 1.1強制讀寫分離 基於主從複製架構,實現讀寫分離 slave配置 開啟了只讀的redis slave node,會拒絕所有的寫操作,這樣可以強制搭建成讀寫分離的架構

mysql主從複製配置方法

Mysql主從配置原理: 一.主伺服器開啟二進位制日誌 bin log,從伺服器開啟從伺服器relavlog   二.從伺服器負責讀取主伺服器二進位制日誌然後方然自己的relavlog裡面執行同步 三.操作順序:     &nb

redis4.0.1(stable)安裝和主從複製配置

依賴環境 Centos 6.5 gcc-4.4.7:編譯redis原檔案 tcl-8.5.7:執行編譯檢測 1.編譯redis #cd /usr/local #tar -zx

redis的主從複製配置

MySQL的Replication是一種多個MySQL的資料庫做主從同步的方案,特點是非同步,廣泛用在各種對MySQL有更高效能,更高可靠性要求的場合。與之對應的另一個技術是同步的MySQL Cluster,但因為比較複雜,使用者較少。   下圖是MySQL官方給出了使用Replication的場景:

MySQL5.7.17主從複製搭建(一主一從)教程詳解

mysql> stop slave; #暫停從庫 mysql>CHANGE MASTER TO MASTER_HOST='192.168.0.120',MASTER_USER='repl', MASTER_PASSWORD='[email protected]',MASTER_LOG_

windows下redis主從複製配置

Invalid argument during startup: unknown conf file parameter :  slaveof 主要操作步驟網上很詳細,我大體說一下:把redis資料夾複製兩份作為從伺服器配置 更改從redis的配置檔案:redis.win

mysql主從複製配置 & 工作原理

目錄 MySQL主從複製的基本工作原理 複製模式 複製如何工作 主從複製配置 建立賬號 配置主庫和從庫 啟動複製 擴充套件-配置GTID主從複製 參考 MySQL主從複製的基本工作原理 MySQL支援兩種複製方法:

MyCat1.6+Mysql5.7的主從複製+讀寫分離

1.Mysql的主從複製前提準備工作及注意事項:a、主DB server和從DB server資料庫的版本一致b、主DB server和從DB server資料庫資料一致[ 這裡就會可以把主的備份在從上還原,也可以直接將主的資料目錄拷貝到從的相應資料目錄]c、主DB serv