當前位置:首頁 » 編程語言 » sql2008雙機互備
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql2008雙機互備

發布時間: 2022-09-24 20:20:05

sql server 2008實時同步mysql要怎麼實現

實現兩個Mysql資料庫之間同步同步原理:
MySQL 為了實現replication 必須打開bin-log 項,也是打開二進制的MySQL 日誌記錄選項。MySQL 的bin log 二

進制日誌,可以記錄所有影響到資料庫表中存儲記錄內容的sql 操作,如insert / update / delete 操作,而不記錄

select 這樣的操作。因此,我們可以通過二進制日誌把某一時間段內丟失的數據可以恢復到資料庫中(如果二進制日

志中記錄的日誌項,包涵資料庫表中所有數據,那麼, 就可以恢復本地資料庫的全部數據了)。 而這個二進制日誌,

如果用作遠程資料庫恢復,那就是replication 了。這就是使用replication 而不用sync 的原因。這也是為什麼要設

置bin-log = 這個選項的原因。

在同步過程中,最重要的同步參照物,就是同步使用那一個二進制日誌文件,從那一條記錄開始同步。下面就介紹

下怎樣實現兩個Mysql資料庫之間的主從同步。

一、 概述
MySQL從3.23.15版本以後提供資料庫復制(replication)功能,利用該功能可以實現兩個資料庫同步、主從模式、

互相備份模式的功能。本文檔主要闡述了如何在linux系統中利用mysql的replication進行雙機熱備的配置。
二、 環境
操作系統:Linux 2.6.23.1-42.fc8 # SMP(不安裝XEN)
Mysql版本:5.0.45-4.fc8
設備環境:PC(或者虛擬機)兩台
三、 配置
資料庫同步復制功能的設置都在MySQL的配置文件中體現,MySQL的配置文件(一般是my.cnf):在本環境下

為/etc/my.cnf。
3.1 設置環境:
IP的設置:
A主機 IP:10.10.0.119
Mask:255.255.0.0
B主機 IP:10.10.8.112
Mask:255.255.0.0
在IP設置完成以後,需要確定兩主機的防火牆確實已經關閉。可以使用命令service iptables status查看防火牆狀態

。如果防火牆狀態為仍在運行。使用service iptables stop來停用防火牆。如果想啟動關閉防火牆,可以使用setup命

令來禁用或定製。
最終以兩台主機可以相互ping通為佳。
3.2 配置A主(master) B從(slave)模式
3.2.1 配置A 為master
1、增加一個用戶同步使用的帳號:
GRANT FILE ON *.* TO 『backup』@'10.10.8.112' IDENTIFIED BY 『1234』;
GRANTREPLICATION SLAVE ON *.* TO 『backup』@'10.10.8.112' IDENTIFIED BY 『1234』;
賦予10.10.8.112也就是Slave機器有File許可權,只賦予Slave機器有File許可權還不行,還要給它REPLICATION SLAVE的權

限才可以。
2、增加一個資料庫作為同步資料庫:
create databbse test;
3、創建一個表結構:
create table mytest (username varchar(20),password varchar(20));
4、修改配置文件:
修改A的/etc/my.cnf文件,在my.cnf配置項中加入下面配置:
server-id = 1 #Server標識
log-bin
binlog-do-db=test #指定需要日誌的資料庫

5、重起資料庫服務:
service mysqld restart
查看server-id:
show variable like 『server_id』;
實例:
mysql> show variables like 'server_id';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| server_id | 1 |
+---------------+-------+
1 row in set (0.00 sec)

6、用show master status/G命令看日誌情況。
正常為:
mysql> show master status/G
*************************** 1. row ***************************
File: mysqld-bin.000002
positiion: 198
Binlog_Do_DB: test,test
Binlog_Ignore_DB:
1 row in set (0.08 sec)
3.2.2 配置B 為slave
1、增加一個資料庫作為同步資料庫:
create databbse test;
2、創建一個表結構:
create table mytest (username varchar(20),password varchar(20));
3、修改配置文件:
修改B的/etc/my.cnf文件,在my.cnf配置項中加入下面配置:
server-id=2
master-host=10.10. 0.119
master-user=backup #同步用戶帳號
master-password=1234
master-port=3306
master-connect-retry=60 #預設重試間隔60秒
replicate-do-db=test #告訴slave只做backup資料庫的更新

5、重起資料庫服務:
service mysqld restart
查看server-id:
show variables like 『server_id』;
實例:
mysql> show variables like 'server_id';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| server_id | 2 |
+---------------+-------+
1 row in set (0.00 sec)

6、用show slave status/G命令看日誌情況。
正常為:
mysql> show slave status/G
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 10.10.0.119
Master_User: backup
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysqld-bin.000001
Read_Master_Log_Pos: 98
Relay_Log_File: mysqld-relay-bin.000003
Relay_Log_Pos: 236
Relay_Master_Log_File: mysqld-bin.000001
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB: test,test
Replicate_Ignore_DB:
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: 98
Relay_Log_Space: 236
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
1 row in set (0.01 sec)

3.2.3 驗證配置
分別使用insert, delete , update在A主機進行增刪改查資料庫;查看B主機的資料庫是否與A主機一致;若一致,則配

置成功。
3.3雙機互備模式
如果在A主機加入slave設置,在B主機加入master設置,則可以做B->A的同步。
1、在A主機的配置文件中 mysqld配置項加入以下設置:
master-host=10.10.8.112
master-user=backup
master-password=1234
replicate-do-db=test
master-connect-retry=10

2、在B的配置文件中 mysqld配置項加入以下設置:
log-bin
binlog-do-db=test

注意:當有錯誤產生時,*.err日誌文件同步的線程退出,當糾正錯誤後,要讓同步機制進行工作,運行slave

start。

重起A、B機器,則可以實現雙向的熱備份。

總之,成功完成以上配置後,在主伺服器A的test庫里添加數據或刪除數據,在從伺服器B的test庫里馬上也能

看到相應的變更。兩台伺服器的同步操作可以說是瞬間完成的。

Ⅱ 請問sql2008做了雙機熱備(帶鏡像伺服器),在web裡面如何配置,讓其自動尋找未掛掉的資料庫伺服器

最簡單的案例就是利用Rose軟體,實現。過程挺簡單,兩個主機的資料庫鏡像互相備份,主機和叢機。但是如果不用軟體,用windowsserver2008自帶的集群軟體也能弄,就是操作復雜,安裝復雜。

Ⅲ windows server 2012r2+sql2008雙機熱備誰做過需要注意什麼問題

注意,需要三台伺服器,一台域控伺服器,兩台資料庫伺服器雙機,如果兩台不能成功。

Ⅳ sql server 2008 如何實現資料庫定時備份到區域網內另外一台伺服器上

這個偶一般是先在sql 2008中建一個計劃,先將資料庫備份到本機某個目錄下,然後用ftp設定好這個目錄。然後在另一台機器上安裝一個備份軟體,比如second之類的,定時從這個ftp同步過去就行了。

Ⅳ 如何sqlserver2008雙向同步

1、查詢SQL中的所有表: Select TABLE_NAME FROM 資料庫名稱.INFORMATION_SCHEMA.TABLES Where TABLE_TYPE='BASE TABLE' 執行之後,就可以看到資料庫中所有屬於自己建的表的名稱 2、查詢SQL中所有表及列: Select dbo.sysobjects.name as Table_name, dbo.syscolumns.name AS Column_name FROM dbo.syscolumns INNER JOIN dbo.sysobjects ON dbo.syscolumns.id = dbo.sysobjects.id Where (dbo.sysobjects.xtype = 'u') AND (NOT (dbo.sysobjects.name LIKE 'dtproperties')) 3、在Sql查詢分析器,還有一個簡單的查詢方法: EXEC sp_MSforeachtable @command1="sp_spaceused '?'" 執行完之後,就可以看到資料庫中所有用戶表的信息 4、查詢總存儲過程數:select count(*) 總存儲過程數 from sysobjects where xtype='p' 附:xtype類型D = 默認值或 DEFAULT 約束
F = FOREIGN KEY 約束L = 日誌FN = 標量函數
IF = 內嵌表函數
P = 存儲過程
PK = PRIMARY KEY 約束(類型是 K)
RF = 復制篩選存儲過程S = 系統表TF = 表函數
TR = 觸發器U = 用戶表UQ = UNIQUE 約束(類型是 K)V = 視圖X = 擴展存儲過程 另:在sqlserver中取得某個資料庫中所有表名的sql語句 select sysobjects.name from sysobjects.xtype ='U';SELECT name
WHERE (xtype = 'U') 在資料庫的sysobjects表裡有這個資料庫全部表的信息, xtype值為'U'的就是表名 注意:一般通過上述方法獲得全部用戶表示都會有一個dtproperties表,SQLSERVER 默認它也是用戶表,想要從用戶表中排出,需要加上限定條件 status>0,即:select * from sysobjects where xtype='U' and status>0

Ⅵ windows server 2008+sql server 2008+DELL MD3200I 如何做雙機熱備份

1. 用系統自帶的MSCS功能,需要存儲。
特點是免費,但是部署和維護相當復雜(需要搭建域環境,若出現故障後需要重裝域環境修復),非凡人所能駕馭 :(
2. 買一套第三方軟體來做,如果有存儲用HA架構產品,沒有存儲用Mirror架構。
比較知名,性價比不錯的有叫Rose的雙機熱備廠商,還有像賽門鐵克這類似的廠商都有,你可以問一問。
求分哦,親

Ⅶ sqlserver2008 區域網內異機備份,該怎麼解決

1、如果你是想著把A電腦備份出來的文件存放在B電腦上,這個容易,B電腦上共享一個文件夾,A電腦上用映射網路驅動器的方法,把B電腦上共享的文件夾當成一個分區。然後象普通的備份一樣,指定備份文件到網路驅動器上就可以了。
2、比較大一些的企業的伺服器一般都會使用硬碟陣列,如果有硬碟陣列,分別備份到本機硬碟和陣列硬碟基本上就可以了。
3、如果你想做到的是兩台伺服器上的數據同步,也就是所謂的雙機熱備,那技術要求就高了,或是購買SQL雙機熱備軟體(很貴,幾萬一套)。

Ⅷ sql server2008資料庫實時同步怎麼做一台伺服器在電信,另一台是本地機

SQL Server在數據同步方面應用比較多還是復制技術,通過事務復制可以實現准實時同步,准實時同步的意思並不是真正的實時同步,總會有一定延遲的,這主要取決於兩台伺服器間的網路狀況,即便網路狀況非常好,比如內網中的2台機器,也是會有一定延遲的,一般在幾秒吧。
另外事務復制對表結構要求比較嚴格,需要有主鍵。如果需要整庫同步,可以考慮使用資料庫鏡像,這對表沒有太多要求。
通過備份方式也可以實現,SQL Server本身也提供了日誌傳送功能來通過備份進行同步,但是這樣數據延遲就更大了,取決於備份恢復的頻率,可能並不符合樓主需要。
復制和資料庫鏡像這兩項技術都不是一兩句話能說清楚的,詳細信息可以查看微軟MSDN文檔
http://msdn.microsoft.com/zh-cn/library/bb500346%28v=SQL.100%29.aspx
http://msdn.microsoft.com/zh-cn/library/bb934127%28v=SQL.100%29.aspx

Ⅸ 如何把sqlserver2008r2資料庫的備份,每天都備份到其他台電腦。

1、sqlserver2008R2備份文件不可以還原到sqlserver2005。
2、sqlserver2005備份文件可以還原到sqlserver2008R2。
3、如果資料庫中數據不多總體體積不是太大(最多幾百M,具體自個試),可以用導出資料庫到腳本(過程中可以選導出兼容版本),然後在SQL2005中運行腳本還原。
4、要是數據量非常大,那導出腳本過程可能很困難,甚至無法完成。

Ⅹ 微軟的Server2008標准版操作系統和SQL2008資料庫能做雙機熱備嗎

你說的是鏡像伺服器,我只測試了企業版的,個人感覺效率極其低下,主要是想相當於你寫資料庫要同時寫兩台機器。標准版好像有數據訂閱功能,也基本上可以做到上面的功能,就是有個時間差。