Windows服務(wù)器下MySql數(shù)據(jù)庫單向主從備份詳細(xì)實現(xiàn)步驟分享
更新時間:2012年05月28日 09:44:50 作者:
將主服務(wù)器中的MySql數(shù)據(jù)庫同步到從服務(wù)器中,使得對主服務(wù)器的操作可以即時更新到從服務(wù)器,避免主服務(wù)器因環(huán)境或者網(wǎng)絡(luò)異常一時無法使用,達(dá)到備份效果,這篇文章整理的確實挺詳細(xì)的
一、目的:將主服務(wù)器中的MySql數(shù)據(jù)庫同步到從服務(wù)器中,使得對主服務(wù)器的操作可以即時更新到從服務(wù)器,避免主服務(wù)器因環(huán)境或者網(wǎng)絡(luò)異常一時無法使用,達(dá)到備份效果。
二、環(huán)境:
主從服務(wù)器操作系統(tǒng)、數(shù)據(jù)庫版本均相同,具體如下:
操作系統(tǒng):Windows 2003 Server R2
MySql數(shù)據(jù)庫版本:5.0.51b
主服務(wù)器(用A代替)IP地址:192.168.4.100
從服務(wù)器(用B代替)IP地址:192.168.4.101
三、配置過程:
1、在A創(chuàng)建遠(yuǎn)程訪問備份賬戶。
在A的MySql數(shù)據(jù)庫中建立一個備份賬戶,命令如下:
mysql> GRANT REPLICATION SLAVE,RELOAD,SUPER ON *.* TO july@'192.168.4.101' IDENTIFIED BY '123456';
mysql> Flush privileges;
mysql> Quit;
語句解釋:
第一句中*.*表示所有數(shù)據(jù)庫,如果要對某個數(shù)據(jù)庫備份的話,假如數(shù)據(jù)庫名稱為some,則要換成some.*,其中 TO july@'192.168.4.101',july為遠(yuǎn)程訪問用戶名,IP地址為遠(yuǎn)程訪問IP,BY '123456'中123456為遠(yuǎn)程訪問密碼;
第二句語句執(zhí)行后使得遠(yuǎn)程訪問用戶創(chuàng)建生效;
執(zhí)行說明:
執(zhí)行上述語句后,若要看遠(yuǎn)程訪問用戶是否已經(jīng)創(chuàng)建成功,執(zhí)行以下語句:
mysql> use mysql;
mysql> select host,user from user;
用戶列表中多了一條
+------------------------------------+------------------+
|host |user |
+------------------------------------+------------------+
|192.168.4.101 |july |
+------------------------------------+------------------+
至此,說明遠(yuǎn)程訪問用戶已經(jīng)創(chuàng)建成功。
2、關(guān)閉A的MySql服務(wù)并拷貝數(shù)據(jù)到B。
關(guān)閉A的Mysql服務(wù),將A中的數(shù)據(jù)拷貝到B中,使得A、B服務(wù)器初始數(shù)據(jù)完全相同,并且在同步備份之前禁止對服務(wù)器中進(jìn)行數(shù)據(jù)庫寫入操作,以保證A、B服務(wù)器的初始數(shù)據(jù)完全相同。
3、修改A中my.ini配置信息
打開my.ini文件,在[mysqld]下添加以下內(nèi)容(#內(nèi)容為注釋):
# server-id:A服務(wù)器的ID值
server-id=10
#log-bin:二進(jìn)制變更日志
log-bin=c:\log/log-bin.log
4、重啟A服務(wù)器。
5、關(guān)閉B服務(wù)器,對B的my.ini進(jìn)行相關(guān)配置
此處需要注意:
由于設(shè)置了slave的配置信息,mysql在數(shù)據(jù)庫data目錄下生成master.info,所以如有要修改相關(guān)slave的配置要先刪除該文件,否則修改的配置不能生效。
打開B的my.ini配置文件,在[mysqld]中添加以下內(nèi)容:
#B服務(wù)器ID值
server-id=11
#遠(yuǎn)程訪問IP地址
master-host=192.168.4.100
#遠(yuǎn)程訪問用戶名
master-user=july
#遠(yuǎn)程訪問用戶密碼
master-password=123456
#主服務(wù)器端口(默認(rèn)為3306,此處要注意主服務(wù)器端口是否因為防火墻被禁止)
master-port=3306
#同步時間間隔為60秒
master-connect-retry=60
#設(shè)置要同步備份的數(shù)據(jù)庫,此處數(shù)據(jù)庫為some
replicate-do-db=some
6、重啟B服務(wù)器,到此已完成主從備份,如果有錯誤,可以通過mysql_error.log進(jìn)行查看。
說明:此文檔為網(wǎng)絡(luò)搜集資料自行試驗整理,主要是方便自己后續(xù)查找以及有需要者參考,若有侵權(quán)之處,聯(lián)系即刪除。
二、環(huán)境:
主從服務(wù)器操作系統(tǒng)、數(shù)據(jù)庫版本均相同,具體如下:
操作系統(tǒng):Windows 2003 Server R2
MySql數(shù)據(jù)庫版本:5.0.51b
主服務(wù)器(用A代替)IP地址:192.168.4.100
從服務(wù)器(用B代替)IP地址:192.168.4.101
三、配置過程:
1、在A創(chuàng)建遠(yuǎn)程訪問備份賬戶。
在A的MySql數(shù)據(jù)庫中建立一個備份賬戶,命令如下:
復(fù)制代碼 代碼如下:
mysql> GRANT REPLICATION SLAVE,RELOAD,SUPER ON *.* TO july@'192.168.4.101' IDENTIFIED BY '123456';
mysql> Flush privileges;
mysql> Quit;
語句解釋:
第一句中*.*表示所有數(shù)據(jù)庫,如果要對某個數(shù)據(jù)庫備份的話,假如數(shù)據(jù)庫名稱為some,則要換成some.*,其中 TO july@'192.168.4.101',july為遠(yuǎn)程訪問用戶名,IP地址為遠(yuǎn)程訪問IP,BY '123456'中123456為遠(yuǎn)程訪問密碼;
第二句語句執(zhí)行后使得遠(yuǎn)程訪問用戶創(chuàng)建生效;
執(zhí)行說明:
執(zhí)行上述語句后,若要看遠(yuǎn)程訪問用戶是否已經(jīng)創(chuàng)建成功,執(zhí)行以下語句:
mysql> use mysql;
mysql> select host,user from user;
用戶列表中多了一條
+------------------------------------+------------------+
|host |user |
+------------------------------------+------------------+
|192.168.4.101 |july |
+------------------------------------+------------------+
至此,說明遠(yuǎn)程訪問用戶已經(jīng)創(chuàng)建成功。
2、關(guān)閉A的MySql服務(wù)并拷貝數(shù)據(jù)到B。
關(guān)閉A的Mysql服務(wù),將A中的數(shù)據(jù)拷貝到B中,使得A、B服務(wù)器初始數(shù)據(jù)完全相同,并且在同步備份之前禁止對服務(wù)器中進(jìn)行數(shù)據(jù)庫寫入操作,以保證A、B服務(wù)器的初始數(shù)據(jù)完全相同。
3、修改A中my.ini配置信息
打開my.ini文件,在[mysqld]下添加以下內(nèi)容(#內(nèi)容為注釋):
# server-id:A服務(wù)器的ID值
server-id=10
#log-bin:二進(jìn)制變更日志
log-bin=c:\log/log-bin.log
4、重啟A服務(wù)器。
5、關(guān)閉B服務(wù)器,對B的my.ini進(jìn)行相關(guān)配置
此處需要注意:
由于設(shè)置了slave的配置信息,mysql在數(shù)據(jù)庫data目錄下生成master.info,所以如有要修改相關(guān)slave的配置要先刪除該文件,否則修改的配置不能生效。
打開B的my.ini配置文件,在[mysqld]中添加以下內(nèi)容:
#B服務(wù)器ID值
server-id=11
#遠(yuǎn)程訪問IP地址
master-host=192.168.4.100
#遠(yuǎn)程訪問用戶名
master-user=july
#遠(yuǎn)程訪問用戶密碼
master-password=123456
#主服務(wù)器端口(默認(rèn)為3306,此處要注意主服務(wù)器端口是否因為防火墻被禁止)
master-port=3306
#同步時間間隔為60秒
master-connect-retry=60
#設(shè)置要同步備份的數(shù)據(jù)庫,此處數(shù)據(jù)庫為some
replicate-do-db=some
6、重啟B服務(wù)器,到此已完成主從備份,如果有錯誤,可以通過mysql_error.log進(jìn)行查看。
說明:此文檔為網(wǎng)絡(luò)搜集資料自行試驗整理,主要是方便自己后續(xù)查找以及有需要者參考,若有侵權(quán)之處,聯(lián)系即刪除。
相關(guān)文章
MySQL數(shù)據(jù)庫可以用任意ip連接訪問的方法
本文主要介紹了MySQL數(shù)據(jù)庫可以用任意ip連接訪問的方法,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-05-05優(yōu)化mysql數(shù)據(jù)庫的經(jīng)驗總結(jié)
本篇文章是對優(yōu)化mysql數(shù)據(jù)庫的經(jīng)驗進(jìn)行了詳細(xì)的總結(jié)介紹,需要的朋友參考下2013-06-06MySQL開發(fā)中存儲函數(shù)與觸發(fā)器使用示例
這篇文章主要為大家詳細(xì)介紹了MySQL中存儲函數(shù)的創(chuàng)建與觸發(fā)器的設(shè)置,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價值,需要的可以參考一下2023-01-01mysql signed unsigned和zerofill使用與區(qū)別
mysql中有符號signed,無符號unsigned與零填充zerofill,本文主要介紹了mysql signed unsigned和zerofill使用與區(qū)別,具有一定的參考價值,感興趣的可以了解一下2024-07-07