VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > 数据库 > MySQL >
  • MySQL教程之WinServer配置MySQL主从同步

为什么要配置主从同步?

如果一台数据库服务器挂了,还有一个备用

 

为了方便配置,我采用两台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 {

}
复制代码

 


相关教程