首頁 資料庫 mysql教程 MySQL建立双向主备复制服务器配置方法_MySQL

MySQL建立双向主备复制服务器配置方法_MySQL

Jun 01, 2016 pm 01:16 PM
伺服器 使用者

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 replication@% |+--------------------------------------------------------------------------------------------------------------------------------------+| 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)sxzichen@ubutun:/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)sxzichen@ubutun:/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 replicationserver-id = 1 log_bin = /var/log/mysql/mysql-bin.logmaster-host = 192.85.1.176master-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_zhhwdreplicate-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 replicationserver-id = 2 log_bin = /var/log/mysql/mysql-bin.logmaster-host = 192.85.1.175master-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 eventMaster_Host: 192.85.1.175Master_User: replicationMaster_Port: 3306Connect_Retry: 60Master_Log_File: mysql-bin.000002Read_Master_Log_Pos: 106 Relay_Log_File: ubutun-relay-bin.000005Relay_Log_Pos: 251Relay_Master_Log_File: mysql-bin.000002 Slave_IO_Running: YesSlave_SQL_Running: YesReplicate_Do_DB: hrkip_zhhwdReplicate_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: 0Exec_Master_Log_Pos: 106Relay_Log_Space: 552Until_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: 0Master_SSL_Verify_Server_Cert: NoLast_IO_Errno: 0Last_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."开头的所有文件,之后再执行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中可以看到对应的记录 。
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

如何用小紅書號找出用戶?能查到手機號碼嗎? 如何用小紅書號找出用戶?能查到手機號碼嗎? Mar 22, 2024 am 08:40 AM

隨著社群媒體的迅速發展,小紅書已經成為了備受青睞的社群平台之一。用戶可以透過建立小紅書號來展示個人身份,並與其他用戶交流互動。如果你需要找某個用戶的小紅書號碼,可以按照以下簡單步驟來操作。一、如何用小紅書號找出用戶? 1.開啟小紅書APP,點選右下角的「發現」按鈕,然後選擇「筆記」選項。 2.在筆記清單中,找到你想找的用戶發布的筆記。點擊進入筆記詳情頁。 3.在筆記詳情頁中,點選使用者頭像下方的「追蹤」按鈕,即可進入該使用者的個人首頁。 4.在使用者個人主頁右上角,點選三個點按鈕,然後選擇「個人資訊

以超級使用者登入Ubuntu 以超級使用者登入Ubuntu Mar 20, 2024 am 10:55 AM

在Ubuntu系統中,root使用者通常是停用狀態的。要啟動root用戶,可以使用passwd指令設定密碼,然後使用su-指令以root身分登入。根用戶是具有系統管理權限且不受限制的使用者。他擁有存取和修改檔案、使用者管理、軟體安裝和刪除,以及系統配置變更等權限。根用戶與一般用戶有著明顯的區別,根用戶擁有系統中最高的權限和更廣泛的控制權。根用戶可以執行重要的系統命令和編輯系統文件,而普通用戶則無法做到這一點。在本指南中,我將探討Ubuntu根用戶,如何以根用戶身份登錄,以及它與一般用戶的不同之處。注意

電驢搜尋連不上伺服器如何解決 電驢搜尋連不上伺服器如何解決 Jan 25, 2024 pm 02:45 PM

解決方法:1、檢查電驢設置,確保已輸入正確的伺服器位址和連接埠號碼;2、檢查網路連接,確保電腦已連接到互聯網,並重置路由器;3、檢查伺服器是否在線,如果您的設定和網路連線都沒有問題,則需要檢查伺服器是否在線上;4、更新電驢版本,造訪電驢官方網站,下載最新版本的電驢軟體;5、尋求協助。

無法連接到RPC伺服器導致無法進入桌面的解決方法 無法連接到RPC伺服器導致無法進入桌面的解決方法 Feb 18, 2024 am 10:34 AM

RPC伺服器不可用進不了桌面怎麼辦近年來,電腦和網路已經深入到我們的生活中的各個角落。作為一種集中運算和資源共享的技術,遠端過程呼叫(RPC)在網路通訊中起著至關重要的作用。然而,有時我們可能會遇到RPC伺服器無法使用的情況,導致無法進入桌面。本文將介紹一些可能導致此問題的原因,並提供解決方案。首先,我們需要了解RPC伺服器不可用的原因。 RPC伺服器是一種

CentOS安裝fuse及CentOS安裝伺服器詳解 CentOS安裝fuse及CentOS安裝伺服器詳解 Feb 13, 2024 pm 08:40 PM

身為LINUX用戶,我們經常需要在CentOS上安裝各種軟體和伺服器,本文將詳細介紹如何在CentOS上安裝fuse和建置伺服器的過程,幫助您順利完成相關操作。 CentOS安裝fuseFuse是一個使用者空間檔案系統框架,允許非特權使用者透過自訂檔案系統實現對檔案系統的存取和操作,在CentOS上安裝fuse非常簡單,只需按照以下步驟操作:1.開啟終端,以root用戶登入。 2.使用下列指令安裝fuse軟體包:```yuminstallfuse3.確認安裝過程中的提示,輸入`y`繼續。 4.安裝完

如何將Dnsmasq設定為DHCP中繼伺服器 如何將Dnsmasq設定為DHCP中繼伺服器 Mar 21, 2024 am 08:50 AM

DHCP中繼的作用是將接收到的DHCP封包轉送到網路上的另一個DHCP伺服器,即使這兩台伺服器位於不同的子網路中。透過使用DHCP中繼,您可以實現在網路中心部署集中式的DHCP伺服器,並利用它為所有網路子網路/VLAN動態分配IP位址。 Dnsmasq是一種常用的DNS和DHCP協定伺服器,可設定為DHCP中繼伺服器,以協助管理網路中的動態主機設定。在本文中,我們將向您展示如何將dnsmasq配置為DHCP中繼伺服器。內容主題:網路拓樸在DHCP中繼上設定靜態IP位址集中式DHCP伺服器上的D

什麼是 sudo,為什麼它如此重要? 什麼是 sudo,為什麼它如此重要? Feb 21, 2024 pm 07:01 PM

sudo(超級使用者執行)是Linux和Unix系統中的關鍵指令,允許一般使用者以root權限執行特定指令。 sudo的功能主要體現在以下幾個方面:提供權限控制:sudo透過授權使用者以臨時方式取得超級使用者權限,從而實現了對系統資源和敏感操作的嚴格控制。普通用戶只能在需要時透過sudo獲得臨時的特權,而不需要一直以超級用戶登入。提升安全性:透過使用sudo,可以避免在常規操作中使用root帳號。使用root帳戶進行所有操作可能會導致意外的系統損壞,因為任何錯誤或不小心的操作都將具有完全的權限。而

用PHP建構IP代理伺服器的最佳實務指南 用PHP建構IP代理伺服器的最佳實務指南 Mar 11, 2024 am 08:36 AM

在網路資料傳輸中,IP代理伺服器扮演著重要的角色,能夠幫助使用者隱藏真實IP位址,保護隱私、提升存取速度等。在本篇文章中,將介紹如何用PHP建立IP代理伺服器的最佳實務指南,並提供具體的程式碼範例。什麼是IP代理伺服器? IP代理伺服器是位於使用者與目標伺服器之間的中間伺服器,它可作為使用者與目標伺服器之間的中轉站,將使用者的請求和回應轉發。透過使用IP代理伺服器

See all articles