• MySQL主从搭建笔记


    前言:环境介绍

    操作系统:windows10,64,;

    MySQL版本:解压方式安装的MySQL8.0.20

    一、配置主从的mysql配置文件

    1.my.ini配置:

    master:

    #主从--master设置
    server-id=1
    log-bin=mysql-bin
    binlog_format=row

    master配置完后,重启master的MySQL服务。

    slave:

    #主从--slave设置
    server-id=2
    log-bin=mysql-bin
    binlog_format=row
    master_info_repository=TABLE
    relay_log_info_repository=TABLE
    log_slave_updates=on
    relay_log_recovery=1

    slave配置完后,重启slave的MySQL服务。

    二、在主库创建主从复制的mysql账号

    CREATE USER mysqlsync@'%' IDENTIFIED  BY '123456';
    GRANT REPLICATION SLAVE ON *.* TO mysqlsync@'%';

    三、备份主库指定数据库

    mysqldump  -P3306 -uroot -p123456  --single-transaction  --master-data=2 --databases test>d:/test.sql

    --single-transaction:是为了得到一个一致性备份,在到处数据之前开启一个事物,由数据库保证单次导出数据的一致性,此时针对InnoDB表的所有读写操作均不会被阻塞。

    --master-data=2:让备份出来的文件中备份这一时刻的binlog文件和position号

    四、在从库上恢复主库的备份

    source d:/test.sql;

    五、启动从库服务

    在从库上运行:

    CHANGE MASTER to master_host='127.0.0.1',master_user='mysqlsync',master_password='123456',master_log_file='binlog.000003',master_log_pos=2332;

    注意,务必和备份文件中两个参数:MASTER_LOG_FILE、MASTER_LOG_POS 一致。

    接着运行

    start slave;
    show slave status\G

    确保以下两项均为Yes,说明主从服务正常:

       Slave_IO_Running:Yes

       Slave_SQL_Running: Yes

    六、测试

    在主库上建表,并插入数据

    create database test;
    use test;
    CREATE TABLE `stu` (
      `id` bigint NOT NULL AUTO_INCREMENT,
      `code` varchar(30) DEFAULT NULL,
      PRIMARY KEY (`id`)
    ) ENGINE=In
    
    INSERT INTO test.stu (code) VALUES
    	 ('001'),
    	 ('002');

    到从库看一下,是否有了?

  • 相关阅读:
    Docker 镜像
    为什么要用 Docker
    什么是 Docker
    python编码
    Python File(文件) 方法
    Python 日期和时间
    Python 字符串字典内置函数&方法
    Python 元组内置函数
    Epos消费管理系统使用发布订阅实现数据库SQL SERVER 2005同步复制
    Epos消费管理系统复制迁移SQL SERVER 2005数据库
  • 原文地址:https://www.cnblogs.com/zjfblog/p/16142893.html
Copyright © 2020-2023  润新知