zoukankan      html  css  js  c++  java
  • Mysql主从复制

    主从机制实现原理

    (1) master将改变记录到二进制日志(binary log)中(这些记录叫做二进制日志事件,binary log events); 
    (2) slave将master的binary log events拷贝到它的中继日志(relay log); 
    (3) slave重做中继日志中的事件,将改变反映它自己的数据。
    

    主库配置

    修改[mysqld]

    [mysqld]
    server-id=1 -- 给数据库服务的唯一标识,一般为大家设置服务器Ip的末尾号
    log-bin=mysql-bin --  启动二进制日志名称
    

    查看日志,File是二进制日志文件名,Position 是日志开始的位置。这两个参数后面要用的到

    SHOW MASTER STATUS;
    show master status;
    

    重启mysql服务

    主库中添加账号使从库使用

    -- 设置赋值权限
    grant replication slave on *.* to 'chaoge'@'192.168.178.130';
    --检查授权账号的权限
    show grants for chaoge@'192.168.178.130';

    从库配置

    [mysqld]
    server-id=3
    

    重启数据库

    systemctl restart mariadb
    或者
    systemctl restart mysql
    

    检查Slava从数据库中的参数

    show variables like 'log_bin'; --OFF
    show variables like 'server_id';
    

    配置赋值参数, Slave从数据库连接Master主库的配置

    change master to master_host='192.168.178.129', -- 主库ip
    master_user='chaoge',  -- 主库用户
    master_password='redhat', -- 主库密码
    master_log_file='mysql-bin.000001', -- 上面主库查出来的那个File
    master_log_pos=575; -- -- 上面主库查出来的那个Position 
    

    启动从库同步开关

    start slave;
    

    查看复制状态

    show slave statusG;
    

    检查Slave_IO_Running和Slave_SQL_Running两个参数, 都是yes说明可以了

    错误排查

    按照顺序一般是遇不到问题的, 我自己在测试中遇到了一个问题是主库防火墙没有关, Slave_IO_Running总显示Connecting

  • 相关阅读:
    mysql用户的管理
    openpyxl对excel实现字母与数字之间的转换
    字体识别
    python中os模块简单用法
    python合成语音
    python中openpyxl修改excel中字体及读取字体
    观察者模式-C#实现
    工厂模式-C#改良实现
    建造者模式-C#改良实现
    996 不是福气,努力也未必成功(转)
  • 原文地址:https://www.cnblogs.com/wwg945/p/10076376.html
Copyright © 2011-2022 走看看