MySQL建立雙向主備複製伺服器配置方法
伺服器A(主) 192.85.1.175
伺服器B(從) 192.85.1.176Mysql版本: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