zoukankan      html  css  js  c++  java
  • windows MYSQL的主从复制

    windows MYSQL的主从复制(一主一从)(转)



    主从复制做起来很简单,关键要注意的是二进制日志的问题,默认情况下,MYSQL FOR WIN装好之后是不开启二进制日志的,这一点决定了你的成败。

    两个数据库保持一致,其实很简单,别想太多,直接复制\mysql\data,整个data拷过去就可以了。这是最简单,也最快的。(前提,首先net stop mysql 停止数据库)


    环境:
    win 2003 两台
    MYSQL 4.1版本,在这里有人会说我的版本比较老了,我不多做解释,性能上各有需求。

    master主库的配置:
    进入到\mysql下面,打开my.ini 在[mysqld]下添加如下配置:
    server-id=1  #服务器ID,不能相同
    binlog-do-db=mysqltest #需要同步的数据库名称为mysqltest
    log-bin=mysql-log  #开启二进制日志,二进制日志名为:mysql-log

    这个名称是自己定义的,开启二进制日志后,每次开启数据库会在\mysql\data下自动生成一个mysql-log.000001,按照顺序,每次重 启数据库会生成这样的一个二进制日志文件。master上开启二进制后还会自动生成一个mysql-log.index文件。

    slave从库的配置:
    同master一样,配置my.ini,在[mysqld]下添加如下:
    server-id=2   #主机ID
    master-host=10.1.1.10   #master主库的IP地址
    master-port=3306    #主库的端口 默认为3306
    master-user=slave    #同步帐号
    master-password=test123   #同步帐号密码
    replicate-do-db=mysqltest   #同步的数据库
    master-connect-retry=10     #重试间隔时间为10s,实际时间自己按需求来。
    read-only=1   #1为只读 0为可读写

    保存即可。


    此段为我个人添加,也是添加在[mysqld]下,用来实时记录日志的,可添加在主库,也可从库。文件夹需要自己创建
    ##############################
    log-error="D:/mysql/logs/error.log"   #错误日志记录
    log="D:/mysql/logs/mysql.log"           #实时同步数据的日志记录
    long_query_time=1                                #查询时间为1秒,根据日志大小时间来定
    log-slow-queries="D:/mysql/logs/slowquery.log"  #开启慢查询,看实际要求看是否需要开启
    #################################


    配置完毕,net start mysql 开启两个数据库。

    验证:在主库使用show master status;
    可以看到同步的数据库名和post值

    在从库使用show slave status\G;

    Relay_Master_Log_File: mysql-log.000001
          Slave_IO_Running: Yes
         Slave_SQL_Running: Yes

    这样就表示已经成功连接上了。主从其实就那么简单,从库在配置好之后,在\mysql\data下会自动生成如下文件:master.info和relay-log.info
    从库是不需要开启二进制日志的。

  • 相关阅读:
    求某个数的位数公式
    ArrayList和lInkedList比较
    队列
    抽象数据结构-栈
    LinkedList的实现
    ArrayList的实现
    Iterator和List的一些问题
    SCHEMA约束
    DTD约束
    XML解析
  • 原文地址:https://www.cnblogs.com/jcgh/p/2256744.html
Copyright © 2011-2022 走看看