不同服務器mysql表同步的簡單介紹

本文目錄一覽:

如何實現兩台服務器mysql數據庫同步

1.主上修改my.cnf文件:

server-id=1

log-bin=mysql-bin

2.從上修改配置文件 my.cnf

server-id=2

relay-log=relay-bin

read-only =1

replicate-ignore-db = mysql

replicate-ignore-db = test

replicate-ignore-db = information_schema

#replicate-wild-do-table = tt.admin

replicate-wild-do-table = my_db.stu // 所要同步的數據庫的單個表

3. 創建 同步的用戶(主上)

grant replication client,replication slave on *.* to rep@’10.41.50.105′ identified by ‘root’;

4.同步到主庫(在從上操作)

change master to master_host=’10.41.50.80′,master_user=’rep’,master_password=’root’;

5.在從上驗證:

show slave status\G;

主從同步某些表

mysql跨服務器實時同步兩張表

設置Mysql的主從即可。 你可以去百度 搜索 Mysql主從。 A服務器做主,B服務器做從。

mysql 不同的服務器如何同步某一個表。 – PHP進階討論

用REPLICATION,MySQL3.23.15就開始支持的特性。指定複製表請使用replicate-do-table來指定啟動的時候指定就可以了。比如shellmysqld_safe

–replicate-do-table=test.rep_test

怎麼實現兩台服務器的mysql數據同步

這種架構一般用在以下三類場景

1. 備份多台 Server 的數據到一台如果按照數據切分方向來講,那就是垂直切分。比如圖 2,業務 A、B、C、D 是之前拆分好的業務,現在需要把這些拆分好的業務匯總起來備份,那這種需求也很適用於多源複製架構。實現方法我大概描述下:業務 A、B、C、D 分別位於 4 台 Server,每台 Server 分別有一個數據庫來隔離前端的業務數據,那這樣,在從庫就能把四台業務的數據全部匯總起來,而不需要做額外的操作。那沒有多源複製之前,要實現這類需求,只能在匯總機器上搭建多個 MySQL 實例,那這樣勢必會涉及到跨庫關聯的問題,不但性能急劇下降,管理多個實例也沒有單台來的容易。

2. 用來聚合前端多個 Server 的分片數據。

同樣,按照數據切分方向來講,屬於水平切分。比如圖 3,按照年份拆分好的數據,要做一個匯總數據展現,那這種架構也非常合適。實現方法稍微複雜些:比如所有 Server 共享同一數據庫和表,一般為了開發極端透明,前端配置有分庫分表的中間件,比如愛可生的 DBLE。

3. 匯總併合並多個 Server 的數據

第三類和第一種場景類似。不一樣的是不僅僅是數據需要匯總到目標端,還得合併這些數據,這就比第一種來的相對複雜些。比如圖 4,那這樣的需求,是不是也適合多源複製呢?答案是 YES。那具體怎麼做呢?

Mysql兩台數據庫服務器異地數據庫同步

以下配置在本機上已經成功:

實現功能:A為主服務器,B為從服務器,初始狀態時,A和B中的數據信息相同,當A中的數據發生變化時,B也跟着發生相應的變化,使得A和B的數據信息同步,達到備份的目的。

環境:

A、B的MySQL數據庫版本同為4.1.20

A:

操作系統:Windows 2003 server

IP地址:192.168.100.1

B:

操作系統:Windows 2003 server

的IP地址:192.168.100.2

配置過程:

1、在A的數據庫中建立一個備份帳戶,命令如下:

GRANT REPLICATION SLAVE,RELOAD,SUPER ON *.*

TO backup@’192.168.100.2′

IDENTIFIED BY ‘1234’;

建立一個帳戶backup,並且只能允許從192.168.100.2這個地址上來登陸,密碼是1234。

2、因為mysql版本新密碼算法不同,所以進入mysql下,輸入:set password for ‘backup’@’192.168.100.2’=old_password(‘1234’);

3、關停A服務器,將A中的數據拷貝到B服務器中,使得A和B中的數據同步,並且確保在全部設置操作結束前,禁止在A和B服務器中進行寫操作,使得兩數據庫中的數據一定要相同!

4、對A服務器的配置進行修改,打開mysql/my.ini文件,在[mysqld]下面添加如下內容:

server-id=1

log-bin=c:\log-bin.log

server-id:為主服務器A的ID值

log-bin:二進制變更日值

5、重啟A服務器,從現在起,它將把客戶堆有關數據庫的修改記載到二進制變更日誌里去。

6、關停B服務器,對B服務器錦熙配置,以便讓它知道自己的鏡像ID、到哪裡去找主服務器以及如何去連接服務器。最簡單的情況是主、從服務器分別運行在不同的主機上並都使用着默認的TCP/IP端口,只要在從服務器啟動時去讀取的mysql/my.ini文件里添加以下幾行指令就行了。

[mysqld]

server-id=2

master-host=192.168.100.1

master-user=backup

master-password=1234

//以下內容為可選

replicate-do-db=backup

server-id:從服務器B的ID值。注意不能和主服務器的ID值相同。

master-host:主服務器的IP地址。

master-user:從服務器連接主服務器的帳號。

master-password:從服務器連接主服務器的帳號密碼。

replicate-do-db:告訴主服務器只對指定的數據庫進行同步鏡像。

7、重啟從服務器B。至此所有設置全部完成。更新A中的數據,B中也會立刻進行同步更新。如果從服務器沒有進行同步更新,你可以通過查看從服務器中的mysql_error.log日誌文件進行排錯。

8、由於設置了slave的配置信息,mysql在數據庫data目錄下生成master.info,所以如有要修改相關slave的配置要先刪除該文件,否則修改的配置不能生效。

如何同步兩個mysql數據庫中所有的表

用數據庫快照就能實現啊.

Oracle快照原理及實現總結

Oracle數據庫的快照是一個表,它包含有對一個本地或遠程數據庫上一個或多個表或視圖的查詢的結果。對於中大型數據庫,業務數據庫里所有的數據同步到另外一個處理服務器上最佳的選擇還是使用SnapShot方式,即快照的方式。

由於工作需要,今天需要將業務數據庫里所有的數據同步到另外一個處理服務器上。在做方案的時候,想了很多方法,當然最快的辦法還是使用物理熱備的方式。

但是我個人認為如果對於中大型數據庫(我們的數據庫有300G左右)最佳的選擇還是使用SnapShot方式,即快照的方式。

Oracle數據庫的快照是一個表,它包含有對一個本地或遠程數據庫上一個或多個表或視圖的查詢的結果。也就是說快照根本的原理就是將本地或遠程數據庫上的一個查詢結果保存在一個表中。

以下是我建立的Snapshot,目的是從業務數據庫上將數據Copy到處理數據庫上,是不同的兩個服務器之間對數據copy。

第一步:在處理服務器上的Oracle終端,建立database link,業務數據庫服務器SID為TEST

create database link TEST_DBLINK.US.ORACLE.COM

connect to AMICOS identified by AMICOS

using ‘test’;

第二步:在業務數據庫上對應的表建立快照日誌

Create snapshot log on A_Table;

第三步:建立Snapshot 快照名稱為:Test_SnapShot

Create snapshot Test_SnapShot

REFRESH COMPLETE START WITH SYSDATE NEXT SYSDATE+1/24

as select * from A_Table@TEST_DBLINK

說明:REFRESH是刷新方法

刷新方式有:COMPLETE和FAST兩種,而START WITH是說明開始執行的時間。

Next是下次執行的時間

而AS以後是構成快照的查詢方法。

相關的方法:

更改快照

ALTER SNAPSHOT Test_SnapShot

REFRESH COMPLETE START WITH SYSDATE NEXT SYSDATE+1/2;

手動刷新快照 在命令界面執行:

EXEC DBMS_SNAPSHOT.REFRESH(‘Test_SnapShot ‘,’C’);

第一個參數是要刷新的快照名

第二個參數是刷新的方式,F—-FAST, C—COMPLETE

查看快照最後刷新的日期

SELECT NAME,LAST_REFRESH

FROM ALL_SNAPSHOT_REFRESH_TIMES;

最後非常的方案:

1:為需要做Snapshot的表建立Snapshot日誌

create snapshot log on t1 with rowid; 這裡使用ROWID建立日記的參數

2:採用Fast的方式建立快照,使用rowid做為參考參數

create snapshot fb_test_b refresh fast with rowid start with sysdate next sysdate+1/1440 as select * from fb_test_b@my_dblink;

最好能按照rowid來建立快照。要不然就必須要為表建立Primary Key。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/230313.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-10 18:15
下一篇 2024-12-10 18:15

相關推薦

  • 如何修改mysql的端口號

    本文將介紹如何修改mysql的端口號,方便開發者根據實際需求配置對應端口號。 一、為什麼需要修改mysql端口號 默認情況下,mysql使用的端口號是3306。在某些情況下,我們需…

    編程 2025-04-29
  • 用不同的方法求素數

    素數是指只能被1和自身整除的正整數,如2、3、5、7、11、13等。素數在密碼學、計算機科學、數學、物理等領域都有着廣泛的應用。本文將介紹幾種常見的求素數的方法,包括暴力枚舉法、埃…

    編程 2025-04-29
  • Python簡單數學計算

    本文將從多個方面介紹Python的簡單數學計算,包括基礎運算符、函數、庫以及實際應用場景。 一、基礎運算符 Python提供了基礎的算術運算符,包括加(+)、減(-)、乘(*)、除…

    編程 2025-04-29
  • Python滿天星代碼:讓編程變得更加簡單

    本文將從多個方面詳細闡述Python滿天星代碼,為大家介紹它的優點以及如何在編程中使用。無論是剛剛接觸編程還是資深程序員,都能從中獲得一定的收穫。 一、簡介 Python滿天星代碼…

    編程 2025-04-29
  • Python海龜代碼簡單畫圖

    本文將介紹如何使用Python的海龜庫進行簡單畫圖,並提供相關示例代碼。 一、基礎用法 使用Python的海龜庫,我們可以控制一個小海龜在窗口中移動,並利用它的“畫筆”在窗口中繪製…

    編程 2025-04-29
  • 服務器安裝Python的完整指南

    本文將為您提供服務器安裝Python的完整指南。無論您是一位新手還是經驗豐富的開發者,您都可以通過本文輕鬆地完成Python的安裝過程。以下是本文的具體內容: 一、下載Python…

    編程 2025-04-29
  • Python函數名稱相同參數不同:多態

    Python是一門面向對象的編程語言,它強烈支持多態性 一、什麼是多態多態是面向對象三大特性中的一種,它指的是:相同的函數名稱可以有不同的實現方式。也就是說,不同的對象調用同名方法…

    編程 2025-04-29
  • STUN 服務器

    STUN 服務器是一個網絡服務器,可以協助網絡設備(例如 VoIP 設備)解決 NAT 穿透、防火牆等問題,使得設備可以正常地進行數據傳輸。本文將從多個方面對 STUN 服務器做詳…

    編程 2025-04-29
  • Python操作MySQL

    本文將從以下幾個方面對Python操作MySQL進行詳細闡述: 一、連接MySQL數據庫 在使用Python操作MySQL之前,我們需要先連接MySQL數據庫。在Python中,我…

    編程 2025-04-29
  • 解決docker-compose 容器時間和服務器時間不同步問題

    docker-compose是一種工具,能夠讓您使用YAML文件來定義和運行多個容器。然而,有時候容器的時間與服務器時間不同步,導致一些不必要的錯誤和麻煩。以下是解決方法的詳細介紹…

    編程 2025-04-29

發表回復

登錄後才能評論