1. 程式人生 > >WinServer配置MySQL主從同步

WinServer配置MySQL主從同步

ip) vat 數據 以及 ima enc sel 鏡像 密碼

為什麽要配置主從同步?

如果一臺數據庫服務器掛了,還有一個備用

為了方便配置,我采用兩臺WinServer2003虛擬機:

1.前期準備工作:安裝好鏡像文件,VMTOOLS,MySQL5.5

我這裏以192.168.111.134為主服務器(以下簡稱134)

打開my.ini文件:

在最下面加上這些:

#-----------------------
server-id=1 
log-bin=master-bin
log-bin-index=master-bin.index

然後重啟134的mysql服務(運行services.msc然後重啟)

打開mysql,輸入show master status;

如果顯示類似下面,說明配置成功

技術分享圖片

為從數據庫配置一個用戶:repl,並且進行權限配置(@從數據庫IP)

技術分享圖片

技術分享圖片

然後配置192.168.111.135為從服務器(以下簡稱135)

打開my.ini文件:

#-----------------------
server-id=2
relay-log-index=slave-relay-bin.index
relay-log=slave-relay-bin

重啟135的mysql服務(運行services.msc然後重啟)

技術分享圖片

這三行解釋:設置主服務器IP端口用戶名密碼以及剛才生產的文件,起始位置為0

查看狀態:配置成功

技術分享圖片

配置成功後自行進行測試:主數據庫創建表,查看從數據庫是否同步成功,如果按照上邊配置,應該是不存在問題的

數據庫轉移:

舊數據庫使用mysqldump導出成sql文件,然後導入新的主數據庫

技術分享圖片

導入:

技術分享圖片

順便設置編碼,防止出錯:

SET character_set_client = utf8;
SET character_set_results = utf8;
SET character_set_connection = utf8;

這種方式是臨時的,徹底修改編碼,要麽在安裝的時候設置好了

我安裝的時候忘記設置了,只能在my.ini中 設置

不過這時候如果select * from table發現還是中文亂碼,這是為什麽呢?

因為cmd是gbk編碼的,mysql設置的是utf-8,不過通過程序查詢到的不會是亂碼

配置賬號:

原因:通常不會給別人root權限,這是危險的,所以只給與一個賬號增刪改查權限

主庫創建一個新的賬號,並允許遠程登陸進行增刪改查

技術分享圖片

從庫創建一個一樣的賬號:

技術分享圖片

項目對接:

拿JavaWeb為例:配置到主庫

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://192.168.111.134:3306/o2o?useUnicode=true&characterEncoding=utf8
jdbc.username=work
jdbc.password=xuyiqing

然後我用junit進行驗證:成功!

package org.dreamtech.o2o.dao;


import org.dreamtech.o2o.BaseTest;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;

public class AreaDaoTest extends BaseTest {
    @Autowired
    private AreaDao areaDao;
    @Test
    public void test(){
        areaDao.queryArea();
    }
}

package org.dreamtech.o2o;

import org.junit.runner.RunWith;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration({ "classpath:spring/spring-service.xml", "classpath:spring/spring-dao.xml"})
public class BaseTest {

}

WinServer配置MySQL主從同步