windows下mysql主从部署

来源:互联网 发布:web前端美工 编辑:程序博客网 时间:2024/06/06 03:52

**最好使用同一版本的Mysql

一、修改主服务器的数据库配置文件(bin/my.ini);在 [mysqld] 标签的最下面,添加如下代码:

        log-bin=mysql-bin        binlog_format=mixed        server-id=1        read-only=0        binlog-do-db=test        binlog-ignore-db=mysql        auto-increment-increment=2        auto-increment-offset=1

配置项解释:
log-bin:开启操作日志,主从服务器同步需要通过日志;
binlog_format:数据会存到binlog日志中,同步需要设置;
read-only:数据库读写状态,1只读、0读写;
binlog-do-db:同步的数据库;
binlog-ignore-db:不同步的数据库;
auto-increment-increment:主键自增量;
auto-increment-offset:主键起始值;

注:如果启动失败,可能是配置项重复配置(如server-id等在上面可能配置过了,注释即可);主从服务器server-id不能相同,auto-increment-increment相同,auto-increment-offset不同,auto-increment-offset大于auto-increment-increment无效;

二、保存退出,重启MySQL主服务器。

三、主服务器创建一个连接账号

在mysql中运行两个语句:mysql> create user 'user01'@'%' identified by '123456';mysql> grant replication slave on *.* to 'user01'@'%' identified by '123456';

注:@后面的’%’表示客户端没有ip地址的限制,如果填为ip地址,将限制指定ip连接,by后面是密码

四、查看主服务器的 master 状态:

mysql> show master status;

记下File、Position

五、从服务器配置文件,在 [mysqld] 标签的最下面,添加如下代码:

    log-bin=mysql-bin    binlog_format=mixed    server-id=2    replicate-do-db=test     replicate-ignore-db=mysql    log-slave-updates=ON    auto-increment-increment=2    auto-increment-offset=2

配置项解释:
replicate-do-db:需要复制的数据库名;replicate-ignore-db不需要赋值的数据库名;log-slave-updates:开启后从库的binlog日志才能同步记录主库的操作日志;

注:注意server-id是否已配置过;

六、从服务器连接主服务器

    mysql> CHANGE MASTER TO            MASTER_HOST='192.***.***.***',            MASTER_USER='user01',            MASTER_PASSWORD='123456',            MASTER_LOG_FILE='mysql-bin.000004',            MASTER_LOG_POS=7145;

注:MASTER_HOST: 主服务器ip;MASTER_LOG_FILE:查看主服务器master时记下的File;ASTER_LOG_POS:查看主服务器master时记下的Position

七、重启mysql

八、开启slave线程:

    mysql> start slave;    查看slave状态:    mysql> show slave status \G;

Slave_IO_Running: Yes
Slave_SQL_Running: Yes
若都为yes,此时主从部署已成功,可去主服务器增删数据查看从服务器是否变更。

原创粉丝点击