1. 程式人生 > >MySQL建立雙向主備複製伺服器配置方法

MySQL建立雙向主備複製伺服器配置方法

1、環境描述

  伺服器A(主) 192.85.1.175

  伺服器B(從) 192.85.1.176

  Mysql版本:5.1.61

       系統版本:System OS:ubuntu 10.10 X86

(系統安裝及資料環境搭建,省略)

2. 建立同步使用者:

在服務B命令列執行 :

      grant replication slave on *.* to 'replication'@'%' identified by 'mysqlsync';  
      flush privileges;  
      grant FILE,SELECT, replication slave on *.* to 'replication'@'192.85.1.175' identified by 'mysqlsync';  
      flush privileges;  

在伺服器A命令列執行:
      grant replication slave on *.* to 'replication'@'%' identified by 'mysqlsync';  
      flush privileges;  
      grant FILE,SELECT, replication slave on *.* to 'replication'@'192.85.1.176' identified by 'mysqlsync';  
      flush privileges;  
在A與B伺服器上檢查主備複製賬號是否正常:

(1)分別在A與B伺服器上的MYSQL命令列執行 “  show grants for 'replication'@'%';”

如果輸出結果類似於如下,表示正常,其他均為異常

mysql> show grants for 'replication'@'%';
+--------------------------------------------------------------------------------------------------------------------------------------+
| Grants for [email protected]%                                                                                                             |
+--------------------------------------------------------------------------------------------------------------------------------------+
| GRANT SELECT, FILE, REPLICATION SLAVE ON *.* TO 'replication'@'%' IDENTIFIED BY PASSWORD '*47E2485DF0DBED84B9BD90AF25F48A36E7EAD57E' |
+--------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

(2)使用主備複製賬號在A伺服器遠端登入B ,在B伺服器遠端登入A ,測試 ,如果可以正常登入說明,賬號正常,可以使用。

如果出現如下錯誤資訊:

ERROR 2003 (HY000): Can't connect to MySQL server on '192.85.1.175' (111)
[email protected]:/var/log/mysql$ ERROR 2003 (HY000): Can't connect to MySQL server on '192.85.1.175' (111) ERROR 2003 (HY000): Can't connect to MySQL server on '192.85.1.175' (111)
ERROR 2003 (HY000): Can't connect to MySQL server on '192.85.1.176' (111)
[email protected]:/var/log/mysql$ ERROR 2003 (HY000): Can't connect to MySQL server on '192.85.1.176' (111) ERROR 2003 (HY000): Can't connect to MySQL server on '192.85.1.176' (111)

導致原因是,MYSQL資料庫不允許遠端訪問,需要分別修改A與B伺服器 中資料庫配置檔案my.cnf  ,註釋掉 “   bind-address           = 127.0.0.1 ” 即為 “#bind-address           = 127.0.0.1”

分別重新啟動MYSQL伺服器 ,測試正常 

3.配置資料主切換 之伺服器A ,修改其對應的資料配置檔案----my.cnf ,在 [MYSQLD}新增如下行

#mysql replication  
server-id = 1 
log_bin = /var/log/mysql/mysql-bin.log  
master-host = 192.85.1.176  
master-user = replication 
master-password = mysqlsync 
master-port = 3306 
master-connect-retry = 60 
binlog-do-db = hrkip_zhhwd 
binlog-ignore-db = mysql   
binlog-ignore-db = information_schema 
binlog-ignore-db = phpmyadmin 
replicate-do-db = hrkip_zhhwd    
replicate-ignore-db = mysql,information_schema 

配置資訊簡單介紹:

server-id               = 1    #主機標示,整數
log_bin                 = /var/log/mysql/mysql-bin.log   #確保此檔案可寫
binlog-do-db         =hrkip_zhhwd   #需要備份資料,多個寫多行
binlog-ignore-db    =mysql #不需要備份的資料庫,多個寫多行

master-user = replication   #遠端登入資料庫使用者名稱稱
master-password = mysqlsync #遠端登入資料庫使用者密碼
master-port = 3306 #遠端資料庫伺服器埠號,可以使用 show variables like 'port'; 命令檢視,必要與目標資料庫伺服器埠號一致

4.配置資料主切換 之伺服器B ,修改其對應的資料配置檔案----my.cnf ,在 [MYSQLD}新增如下行

#mysql replication  
server-id = 2 
log_bin = /var/log/mysql/mysql-bin.log  
master-host = 192.85.1.175  
master-user = replication 
master-password = mysqlsync 
master-port = 3306 
master-connect-retry = 60 
binlog-do-db = hrkip_zhhwd 
binlog-ignore-db = mysql 
binlog-ignore-db = information_schema 
binlog-ignore-db = phpmyadmin 
replicate-do-db = hrkip_zhhwd 
replicate-ignore-db = mysql,information_schema 

5.檢查配置是否正常(l兩臺伺服器上分別檢查):

啟動 slave 服務 ,在MYSQL命令列執行

mysql> slave start ;                
Query OK, 0 rows affected, 1 warning (0.00 sec)

檢視slave 狀態 ,執行命令:
mysql> show slave status \G ;
*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: 192.85.1.175
                  Master_User: replication
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: mysql-bin.000002
          Read_Master_Log_Pos: 106
               Relay_Log_File: ubutun-relay-bin.000005
                Relay_Log_Pos: 251
        Relay_Master_Log_File: mysql-bin.000002
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes
              Replicate_Do_DB: hrkip_zhhwd
          Replicate_Ignore_DB: mysql,information_schema
           Replicate_Do_Table: 
       Replicate_Ignore_Table: 
      Replicate_Wild_Do_Table: 
  Replicate_Wild_Ignore_Table: 
                   Last_Errno: 0
                   Last_Error: 
                 Skip_Counter: 0
          Exec_Master_Log_Pos: 106
              Relay_Log_Space: 552
              Until_Condition: None
               Until_Log_File: 
                Until_Log_Pos: 0
           Master_SSL_Allowed: No
           Master_SSL_CA_File: 
           Master_SSL_CA_Path: 
              Master_SSL_Cert: 
            Master_SSL_Cipher: 
               Master_SSL_Key: 
        Seconds_Behind_Master: 0
Master_SSL_Verify_Server_Cert: No
                Last_IO_Errno: 0
                Last_IO_Error: 
               Last_SQL_Errno: 0
               Last_SQL_Error: 
1 row in set (0.00 sec)

ERROR: 
No query specified

如果需要重新啟動slave 伺服器,首先 執行 slave stop  ,再執行 reset  slave , 刪除  MYSQL 資料庫對應的my.cnf 檔案中log_bin目錄( /var/log/mysql/ )下的"  mysql-bin."開頭的所有檔案,之後重新啟動MYSQL服務,之後再執行slave start 命令 。

6.進行測試,主備是否正常工作,slave 啟動時,兩個伺服器上都啟動,啟動後不要隨意關閉再重啟,例如在伺服器A上啟動後。

在伺服器A資料中插入

INSERT INTO ddgl_qdlx ( qdlxmc, lxjc, qdlxbz) VALUES
('175a', '75a', '175a');

在伺服器B中可以看到對應的記錄 。

同樣在伺服器B中插入 :

INSERT INTO ddgl_qdlx (qdlx_id, qdlxmc, lxjc, qdlxbz) VALUES
(  '176b', '76b', '176b') ;

在伺服器A中可以看到對應的記錄 。

測試OK 。

相關推薦

MySQL建立雙向複製伺服器配置方法

1、環境描述  伺服器A(主) 192.85.1.175   伺服器B(從) 192.85.1.176  Mysql版本:5.1.61        系統版本:System OS:ubuntu 10.10 X86 (系統安裝及資料環境搭建,省略) 2. 建立同步使用者: 在

mysql+mycat搭建穩定高可用叢集,負載均衡,複製,讀寫分離

資料庫效能優化普遍採用叢集方式,oracle叢集軟硬體投入昂貴,今天花了一天時間搭建基於mysql的叢集環境。 主要思路 簡單說,實現mysql主備複製-->利用mycat實現負載均衡。 比較了常用的讀寫分離方式,推薦mycat,社群活躍,效能穩定。 測試環境 MYSQL版

redis叢集伺服器及自動切換的配置

這裡我們使用二臺節點伺服器 主節點伺服器:192.168.104.71 埠:6379 備節點伺服器:192.168.104.72 埠:6379 首先安裝192.168.104.71主節點伺服器 1. 下載並解壓 cd /root/software wget http://

MySQL複製原理、實現及異常處理

複製概述 MySQL支援三種複製方式:基於行(Row)的複製、基於語句(Statement)的複製和混合型別(Mixed)的複製。 基於語句的複製早在3.23版本中就存在,而基於行的複製方式在5.1版本中才被加進來。這兩種方式都是通過在主庫上記錄二進位制日誌

MYSQL、從伺服器配置及錯誤處理

 一. MySQL主伺服器配置 1.建立使用者 grant replication slave on *.* to [email protected] identified by '123456'; # grant replication slave on *.*

mysql複製搭建

這裡我使用單臺伺服器上的兩個mysql例項進行搭建,主要用到了mysql自帶的mysqld_multi 一、複製原理 開始搭建前有個mysql複製原理的基礎知識需要補充: mysql進行主備複製使用到了三個執行緒: 1.主庫上的轉儲存執行緒:     會將mysql se

MySQL備份與配置

MySQL備份與主備配置 資料備份型別 全量備份:備份整個資料庫 增量備份:備份自上一次備份以來(增量或完全)以來變化的資料 差異備份:備份自上一次完全備份以來變化的資料 全量備份 全量備份的方法有 2 種,一種是利用資料庫管理工具提供的備份恢復和匯入匯出功能。例如:如果使用 Navica

mysql建立TRIGGER觸發器實現相同伺服器下不同庫的表資料同步

實現功能:mysql建立INSERT|UPDATE|DELETE觸發器實現相同伺服器下不同庫的表資料同步。比如table1表的資料有insert|update|delete操作,便同步到sync表中。然後再根據sync表中state(同步狀態)和oper(操作方式)欄位的狀態將sync表

redis配置主從備份以及切換方案配置

前提:redis中,主從切換場景中,沒有絕對的主和從,只有初始化的主和從,然後當主down後,從就變成主了,而主即使連線上,也是從,不會變為主 1、redis-server的主備關係:    

分散式Redis複製

  當資料落在不同節點上時,如何保證資料節點之間的一致性是非常關鍵的   Redis採用主備複製的方式保證一致性,所有節點中,只有一個節點為主節點(master),它對外提供寫服務,然後非同步的將資料複製到其他節點上   主備複製流程   Redis包含master 和slave 2種節點:   ma

Linux下mysql資料庫一一從同步配置

MySQL主從同步配置 mmj 16.09.29 1.確認執行環境 1.1確認主從IP 主伺服器(master):192.168.3.10 從伺服器(slave):192.168.3.18 1.2確認資料庫版本 都為5.5.31 2.主伺服器上配置 2.1修改MySQ

Oracle Dataguard 庫的切換方法

oracle主備庫的切換主要在兩種情況下切換,Switchover和Failover,這兩種切換都需要手工執行完成。 一是Switchover(計劃中的切換,不會丟失數據) 二是Failover(當主庫出現故障的時候需要主備庫切換角色) 1,Switchover的切換方法 主庫端: select switch

WINDOWS下MySQL 5.7+ 解壓縮版安裝配置方法

1.去官網下載.zip格式的MySQL Server的壓縮包,根據需要選擇x86或x64版。注意:下載是需要註冊賬戶並登入的。 2.解壓縮至你想要的位置。 3.複製解壓目錄下my-dafault.ini至bin目錄下,重新命名為my.ini。並新增以下內容(路徑要根據自己的情況修改呀)。沒有data目錄不

MySql 允許任意ip進行訪問,配置方法

寫實用的部落格。 首先 在資料庫的根路徑下執行 : mysql -u root -p mysql 第二步 mysql> GRANT ALL PRIVILEGE

mysql 5.7.19 免安裝版配置方法

mysql-5.7.19-winx64 免安裝版配置方法 官方網站下載mysql-5.7.19-winx64,注意對應系統64位或者32位,這裡使用的是64位。 解壓放置到本地磁碟。發現檔案很大,大概是1.6G左右。刪除lib資料夾下的.lib檔案和debu

外網訪問內網伺服器配置方法

前提需要有固定IP 路由器必須得是通過固定IP上網,才能通過外網訪問內網伺服器 登入路由器 在位址列輸入192.168.1.1或192.168.0.1。初始密碼為admin,若忘記密碼請重置路由器。這裡以TP-Link WR842N為例。 點選應

mysql-5.6.25免安裝版配置方法

一、首先要下載mysql-5.6.25-winx64,這裡就不提供下載了 二、解壓在“D:\Mysql“,可以根據自己實際情況選擇,MySQL的全路徑即為:“D:\Mysql\mysql-5.6.25-winx64” 三、配置my.ini檔案,將下面的配置儲存成my.in

最新mysql 5.7.21 免安裝版配置方法札記

. 下載Mysql 官方:http://www.mysql.com→downloads→選社群版本MySQL Community Edition(GPL)→點選Community(GPL)Downloads>>→MySQL Community Server(G

mysql複製配置方法

mysql主主複製配置 1、修改my.cnf配置檔案 #192.168.1.1:my.cnf配置檔案新增 server-id=1   #任意自然數n,只要保證兩臺MySQL主機不重複就可以了。 log-bin=mysql-bin   #開啟二進位制日誌,記錄當前mysql的改

mysql主從()同步一鍵配置,配自動檢測功能

主從一鍵shell配置 做個筆記。 #!/bin/bash #Mysql sync #chenglee #master機器ip MasterIP="192.168.137.174" #slave機器ip SlaveIp="192.168.137.170" #主從同步賬號密碼 MAST