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遷移到Oracle數(shù)據(jù)庫的超詳細(xì)步驟和方法總結(jié)
今天接到一個任務(wù),讓我把MySQL中的表與數(shù)據(jù)移植到Oracle中,所以這里總結(jié)下,這篇文章主要給大家介紹了關(guān)于MySQL遷移到Oracle數(shù)據(jù)庫的超詳細(xì)步驟和方法,需要的朋友可以參考下2023-11-11
MySQL中LAG()函數(shù)和LEAD()函數(shù)的使用
這篇文章主要介紹了MySQL中LAG()函數(shù)和LEAD()函數(shù)的使用,包括窗口函數(shù)的基本用法,LAG()和LEAD()函數(shù)介紹,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-08-08
MySQL中(JOIN/ORDER BY)語句的查詢過程及優(yōu)化方法
sql語句性能達(dá)不到你的要求,執(zhí)行效率讓你忍無可忍,一般會造成很多影響。那么我們?nèi)绾谓鉀Q這些問題呢,下面由小編來和大家簡單講下2019-05-05
Shell下實現(xiàn)免密碼快速登陸MySQL數(shù)據(jù)庫的方法
這篇文章主要給大家介紹了在Shell下實現(xiàn)免密碼快速登陸MySQL數(shù)據(jù)庫的方法,文中通過示例代碼一步步介紹的非常詳細(xì),對大家具有一定的參考學(xué)習(xí)價值,需要的朋友們下面跟著小編來一起看看吧。2017-06-06

