• MySQL入门详解(三)---mysql如何进行主从配置


    1. 基本要求

      • 两台服务器(windows,linux,mac)

      • 双方mysql版本需一致,如不一致,只要主节点低于从节点

      • 两台服务器防火墙关闭

      • 双方数据库所用的用户,要具有远程访问的权限

    2. 主服务器配置

      • 修改主服务器的MySQL配置文件,window(my.ini),linux(my.cnf)

      #mysql唯一id
      server-id = 1
      #二进制日志文件,此项为必填项,否则不能同步数据;
      log-bin = "mysql-bin"
      #指定二进制错误文件
      log-error="mysql-error"
      #需要同步的数据库,如果需要同步多个数据库;
      binlog-do-db = demo
      #binlog-do-db = slaveDB1
      #binlog-do-db = slaveDB2
      #不需要同步的数据库
      binlog-ignore-db = mysql
      • 授权给从数据库服务器

      GRANT REPLICATION SLAVE ON *.* to 'root'@'111.111.111.111' identified by '123456';
      flush privileges;
      • mysql8.0版本授权

      CREATE USER 'root'@'111.111.111.111' IDENTIFIED WITH
      mysql_native_password BY '123456';
      GRANT REPLICATION SLAVE ON *.* TO 'root'@'222.222.222.222';
      • 重启主服务器

      $ service mysqld restart
      • 查看主服务器BIN日志的信息(执行完之后记录下这两个值,然后在配置完从服务器之前不要对主服务器进行任何操作,因为每次操作数据库时这两个值会发生改变)

      $ show master status
    3. 从服务器配置

      • 修改从服务器的MySQL配置文件,window(my.ini),linux(my.cnf),配置server-id 的值,并确保这个ID没有被别的MySQL服务所使用

      server-id=2    #默认是1改成2
      log-bin="mysql-bin"    #这行本身有
      replicate-do-db=demo    #需要同步的数据库
      replicate-ignore-db=mysql    #不同步系统数据库
      read_only     #设只读权限
      • 启动mysql服务

      • 执行同步sql语句

      change master to
      master_host='111.111.111.111',
      master_user='root',
      master_password='123456',
      master_log_file='mysql-bin.000001',
      master_log_pos=154;
       
      • MASTER_HOST : 设置要连接的主服务器的ip地址

      • MASTER_USER : 设置要连接的主服务器的用户名

      • MASTER_PASSWORD : 设置要连接的主服务器的密码

      • MASTER_LOG_FILE : 设置要连接的主服务器的bin日志的日志名称

      • MASTER_LOG_POS : 设置要连接的主服务器的bin日志的记录位置。

      • 启动Slave同步进程

      $ start slave;
    4. 主从同步检查

      • 查看状态

      $ show slave statusG

      其中Slave_IO_Running 与 Slave_SQL_Running 的值都必须为YES,才表明状态正常

      • 如果之前从服务器启动过需要先停止,再运行

      $ stop slave 
  • 相关阅读:
    [Kotlin] Open Classes and Inheritance
    [Kotlin] Class
    [Kotlin] Reverse a List with downTo
    [Kotlin] Named loop
    [Kotlin] for loop
    [Kotlin] Array List ArrayList
    深度解读 java 线程池设计思想及源码实现
    源码实战 | 从线程池理论聊聊为什么要看源码
    自己实现一个简单的线程池
    死磕 java线程系列之自己动手写一个线程池(续)
  • 原文地址:https://www.cnblogs.com/songyifan427/p/10103455.html
Copyright © 2020-2023  润新知