• windows系统下mysql的主从复制


    使用一台物理机实现mysql的主从复制功能。

    准备:

    1、操作系统:Windows Server 2016 Standard

    2、下载mysql免安装包:

    https://downloads.mysql.com/archives/get/p/23/file/mysql-5.6.17-winx64.zip

    安装maser

    1、解压mysql压缩包,并复制一份文件,命名为mysql-5.6.17-winx64_slave

    2、复制文件my-default.ini,命名my.ini,并编辑内容如下所示:

    1. # These are commonly set, remove the # and set as required.
    2. basedir = E:\mysql\mysql-5.6.17-winx64
    3. datadir = E:\mysql\mysql-5.6.17-winx64\data
    4. explicit_defaults_for_timestamp = TRUE
    5. binlog-do-db=test
    6. port = 3306
    7. server_id = 1
    8. log-bin=mysql-bin

    3、安装master服务

    使用管理员身份打开cmd窗口,进入master主库的bin目录,然后使用命令安装主数据库服务:

    mysqld install mysql1 --defaults-file="E:\mysql\mysql-5.6.17-winx64\my.ini"

    4、控制面板-》服务中启动主数据库服务“mysql1”

    5、使用命令连接主库

    mysql -uroot -p -P3306

    6、创建同步数据的账户

    create user 'syncuser'@'127.0.0.1' identified by '123456';

    7、给用户授权

    grant replication slave on *.* to 'syncuser'@'127.0.0.1' identified by '123456';

    8、查询主库状态

    show master status;

    可以看到目前日志的位置到120个字节。

    安装slave

    1、修改从库配置

    1. basedir = E:\mysql\mysql-5.6.17-winx64_slave
    2. datadir = E:\mysql\mysql-5.6.17-winx64_slave\data
    3. skip-slave-start
    4. port = 3307
    5. server_id = 2

    2、安装从库的数据库服务

    mysqld install mysql2 --defaults-file="E:\mysql\mysql-5.6.17-winx64_slave\my.ini"

    3、同主库服务,在控制面板-》服务中启动从库服务

    4、连接从库

    mysql -uroot -p -P3307

    5、设置master信息

    change master to master_host='127.0.0.1',master_port=3306,master_user='syncuser',master_password='123456',master_log_file='mysql-bin.000001',master_log_pos=120;

    6、启动主从复制功能

    start slave;

    7、查看从库状态

    show slave status;

    测试

    1、在主库test数据库中创建user表

    create table user(id bigint(20) not null AUTO_INCREMENT,
        name varchar(255) default null,
        address varchar(255) default null,
        primary key (id) using btree)
        engine=innodb auto_increment=1 character set=utf8;

    2、在从库查看表是否创建

    说明主库创建的表自动同步到从库了。

    3、在主库执行一下sql

    insert into user(name,address) values ('zhangsan','shenzhen');

    4、在从库执行sql

     说明主库执行的插入操作自动同步到从库了。

    5、查看从库的状态

    show slave status

    发现从库读取日志的位置也发生变化了。

  • 相关阅读:
    springboot集成dubbo+zookeeper简单搭建(细到你没有感觉)
    计算机毕业设计Java哈尔滨旅游项目推荐平台演示录像2020(源码+系统+mysql数据库+Lw文档)
    采用sFlow工具实现流量监控--实验
    Ubuntu里安装CMake步骤
    『从零开始学小程序』媒体组件audio组件
    形态学 - 骨架
    【NLP入门教程】目录
    unity工程参照以及评价
    第四篇:Sentinel限流核心逻辑过程分析
    Params and FLOPs
  • 原文地址:https://blog.csdn.net/dandingwangzi/article/details/128189923