美文网首页
mysql主从复制详细配置步骤

mysql主从复制详细配置步骤

作者: 厦门第一帅哥 | 来源:发表于2023-05-29 10:13 被阅读0次
      1. 关闭主机器和从机器的防火墙
      1. 主机器配置
      • 2.1 创建一个用户并且赋予权限
    CREATE USER 'username'@'hostname' IDENTIFIED WITH mysql_native_password BY 'password';
    GRANT ALL PRIVILEGES ON databasename.* TO 'username'@'hostname';
    FLUSH PRIVILEGES;
    
    • 2.2 配置my.cnf

    log-bin:二进制文件
    log-error:错误记录文件
    binlog-ignore-db:主从同步时忽略的数据库
    binlog-do-db:主从同步时要同步的数据库

    [mysqld]
    log-bin=/var/log/mysql/mysql-bin
    general_log=1
    general_log_file = /var/log/mysql/mysql.log
    log-error=/var/log/mysql/error.log
    slow_query_log=ON
    slow_query_log_file=/var/log/mysql/mysql_slow_query.log
    long_query_time=5
    server-id=1
    binlog-ignore-db=mysql
    binlog-do-db=lottery
    
    • 2.3 指定哪台从机器
    grant replication slave, reload, super on *.* to 'czl'@'%'
    
    • 2.4 查看主计算机状态
    show master status;
    

    显示结果如下:


    image.png

    需要记住position,位置。在从机器上配置需要

      1. 从机器配置
      • 3.1 my.cnf文件配置
    [mysqld]
    server-id = 2
    replicate-do-db = lottery
    log-bin = mysql-bin
    log-error = mysql-error
    

    配置server-id,和主机不同
    配置replicate-do-db,需要同步的数据库
    配置log-bin文件,这里我写的是相对路径

    • 3.2 指定主机器

    进入mysql的从数据库中。执行下面命令:

    change master to master_host = '47.99.134.39', master_user = 'root', master_password = 'root', master_port = 3306, master_log_file = 'mysql-bin.000001', master_log_pos = 156;
    

    master_log_file,和master_log_pos填入的是上面主机器获取出来的两个值。

    • 3.3 开启同步

    如果从机器没有你要同步的数据库,需要先create database创建数据库,创建后执行:

    start slave;   # 开启同步
    
    • 3.4 查看主从配置是否成功
    show slave status\G;
    
    image.png

    这两个值均为yes就代表成功

      1. 未来如果出现主从同步错误,可以清空配置重新配置
    RESET SLAVE ALL;
    

    相关文章

      网友评论

          本文标题:mysql主从复制详细配置步骤

          本文链接:https://www.haomeiwen.com/subject/nejdedtx.html