• 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 {
    
    }
  • 相关阅读:
    6. matlab入门——结构体、元胞数组、字符串
    5. matlab入门——图形标注、特殊绘图、三维绘图
    PyQt5Day17--输入控件QTextEdit纯文本输入
    【转】防止表单重复提交
    【转】MVC HtmlHelper用法大全
    【转】什么是.Net以及.Net的基本语法
    【转】ASP.NET MVC实现权限控制
    JavaScript 中,定义函数时用 var foo = function () {} 和 function foo() {}有什么区别?
    【转】java缩放图片、java裁剪图片代码工具类
    【转】探讨:ASP.NET技术的学习顺序问题
  • 原文地址:https://www.cnblogs.com/xuyiqing/p/10647133.html
Copyright © 2020-2023  润新知