美文网首页
如何在一台windows主机上搭建mysql主从复制

如何在一台windows主机上搭建mysql主从复制

作者: 安易学车 | 来源:发表于2018-12-07 11:26 被阅读0次

    原文地址:http://www.cnblogs.com/yuechaotian/archive/2013/05/15/3080056.html

    1、首先要在本地建立两个mysql服务(参考这里),指定不同的端口。我这里一个主(3306),一个从(3307)。

    2、然后修改主配置文件:

    [mysqld]

    server-id = 1

    binlog-do-db=test #要同步的数据库

    #binlog-ignore-db=mysql   #不同步的数据库,如果指定了binlog-do-db这里应该可以不用指定的

    log-bin=mysql-bin #要生成的二进制日记文件名称

    修改从配置文件:

    [mysqld]

    server-id = 2

    log-bin    = mysql-bin

    replicate-do-db=test

    3、在主库添加一个用户 repl 并指定replication权限

    create user 'repl'@'127.0.0.1' identified by 'asdf';

    GRANT REPLICATION SLAVE ON *.* TO 'repl'@'127.0.0.1'; -- --这里我指定数据库(test.*)时报错,而指定全库(*.*)时会成功。

    4、保持主从mysql的test数据库初始状态一致。

    一般是先将所有的表加读锁,然后copy磁盘上的数据库文件夹。我这里直接停止服务,然后将数据文件拷贝过去。

    5、在主数据库里面运行show master status;记下file和position字段对应的参数。

    mysql> show master status;

    +------------------+----------+--------------+------------------+

    | File | Position | Binlog_Do_DB | Binlog_Ignore_DB |

    +------------------+----------+--------------+------------------+

    | mysql-bin.000001 | 107 | test | |

    +------------------+----------+--------------+------------------+

    1 row in set (0.00 sec)

    6、在从库设置它的master:

    mysql> change master to master_host='127.0.0.1',master_port=3306,master_user='repl',master_password='asdf',master_log_file='mysql-bin.000001',master_log_pos=107;

    Query OK, 0 rows affected (0.19 sec)

    这里的master_log_file和master_log_pos对应刚才show master status记下的参数。

    7、在从库开启从数据库复制功能。

    slave start;

    mysql> slave start;

    Query OK, 0 rows affected (0.00 sec)

    在从库可以通过show slave status来查看一些参数。

    8. 此时在主库创建表或插入数据,在从库就会很快也能看到了。

    -- 主库

    mysql> create table tianyc_02(b int);

    Query OK, 0 rows affected (0.16 sec)

    mysql> insert into tianyc_02 values(2013);

    Query OK, 1 row affected (0.13 sec)

    -- 从库

    mysql> show tables;

    +----------------+

    | Tables_in_test |

    +----------------+

    | tianyc_01 |

    | tianyc_02 |

    +----------------+

    2 rows in set (0.00 sec)

    mysql> select * from tianyc_02;

    +------+

    | b |

    +------+

    | 2013 |

    +------+

    1 row in set (0.00 sec)

    同理,可以搭建第二、第三个从节点。

    相关文章

      网友评论

          本文标题:如何在一台windows主机上搭建mysql主从复制

          本文链接:https://www.haomeiwen.com/subject/tixthqtx.html