mysql主从(windows)

database

mysql windows主从

  • 准备环境

    • 数据库版本

      • 主数据库版本 5.7.21
      • 从数据库版本 5.7.25

        只要数据库的前两个版本号一致,那么就可以进行主从同步。

    • 主数据库开启binlog 日志

      #mysql binlog 日志

      log_bin = C:/Development/mysql/mysql-5.7.25-winx64/log/mysql-bin

      #服务器标识id

      server-id = 001

      expire_logs_days = 7

      max_binlog_size = 100m

      binlog_format=MIXED

      • 重启服务器,使修改的my.ini 生效

      • 使用下面的语句进行验证是否开启log_bin

        SHOW VARIABLES LIKE "%log_bin%"

    • 创建从库的登陆用户

      GRANT replication SLAVE  ON  *.* TO repl@"%" IDENTIFIED by "123456"

      • 使用新建用户进行登陆,进行验证

    • 主机数据备份到从库

      C:Developmentmysqlmysql-5.7.25-winx64in> mysqldump.exe  -h localhost   -u root -p123456 --databases  test_copy | mysql -h 192.168.5.90 -u root -p123456

      • 在从库进行登陆查看,是否备份过来

  • 修改从服务配置

    • 给从库增加服务标识(MySQL 5.7.3 及以后版本,如果没有设置server-id, 那么设置binlog后无法开启MySQL服务)

      server-id = 002

    • 重启mysql服务
    • 登陆从库的mysql,执行如下命令

      stop  slave;

      • stop slave,就是分别关闭了I/O线程(stop slave IO_THREAD)和SQL线程(stop slave SQL_THREAD),I/O线程会维护master.info信息的更新,SQL线程会维护relay-log.info信息的更新

  • 主从进行网络链接

    • 执行下面的命令也需要登陆从库的mysql,并且在mysql 的从库执行

    • 从库现在开始绑定主库ip进行binlog日志的读取

      change master to master_user="repl",master_password="123456",master_host="192.168.5.155",master_port=3306,master_log_file="mysql-bin.000003",master_log_pos=154; 

    • 如果不知道,自己需要同步的是那个bin_log 日志文件,请使用下面的命令,在主库执行查询

      SHOW MASTER STATUS

    • 启动从库mysql 线程维护信息

      start  slave;

    • 从库查看是否绑定

      SHOW SLAVE STATUS

    • 参数说明

      #唯一的id,不能和master相同 

      server-id=106

      #主库的ip

      master-host=192.168.5.155

      #主库创建同步的用户名

      master-user=repl

      #主库创建同步账户的密码

      master-password=123456

      # 主库的端口

      master-port=3306

      #从库读取主库的归档日志

      master_log_file="mysql-bin.000003"

      # 当重新建立主从连接时,如果连接建立失败,间隔多久后重试。单位为秒,默认设置为60秒,同步延迟调优参数。

      master-connect-retry=60

      #要同步的mstest数据库,要同步多个数据库,就多加几个replicate-db-db=数据库名

      replicate-do-db=test_copy

      #忽略的数据库

      replicate-ignore-db=mysql

      # show master status命令查到的:postion位置(开始同步的日志偏移量)

      master_log_pos=154

  • 操作数据,查看是否同步

    • 主库执行创建库表,从库进行查看是否同步

      CREATE TABLE `test`  (

      `id` int(0) NOT NULL,

      PRIMARY KEY (`id`)

      );

  • 取消mysql 主从

    # 停止从库

    stop slave

    # 重新设置从库

    reset slave;

    # 重设所有从库

    reset slave all;

    # 查看从库链接状态信息

    show slave status

以上是 mysql主从(windows) 的全部内容, 来源链接: utcz.com/z/534909.html

回到顶部