加入收藏 | 设为首页 | 会员中心 | 我要投稿 滨州站长网 (https://www.0543zz.cn/)- CDN、边缘计算、物联网、云计算、运营!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

MySQL教程之WinServer配置MySQL主从同步

发布时间:2022-08-10 09:56:02 所属栏目:MySql教程 来源:互联网
导读:为什么要配置主从同步? 如果一台数据库服务器挂了,还有一个备用 为了方便配置,我采用两台WinServer2003虚拟机: 1.前期准备工作:安装好镜像文件,VMTOOLS,MySQL5.5 我这里以192.168.111.134为主服务器(以下简称134) 打开my.ini文件: 在最下面加上这
  为什么要配置主从同步?
 
  如果一台数据库服务器挂了,还有一个备用
 
   
 
  为了方便配置,我采用两台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();
      }
  }
  复制代码

(编辑:滨州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读