zoukankan      html  css  js  c++  java
  • mysql(mariadb)数据库的主从复制

    环境准备,准备2台机器 ,一个为主 一个为从


    主库配置如下:

    1.第一步:编辑mysql的配置文件

    vim /etc/my.cnf
    写入如下内容
    [mysqld]
    server-id=1 # 设置一个id主从之间ID不能相同
    log-bin=s17-mysql-bin # 日志的名字 自己设


    2.创建一个用于同步的用户

    create user 'shixun'@'%' identified by 'shixundsb';

    # 创建 shixun 这个用户 %表示可以从任何IP登录 密码 shixundsb

    3.给予这个账号,一个从的身份
    grant replication slave on *.* to 'shixun'@'%';
    # 赋予这个主从复制的用户 操作 所有库所以表的权限 %表示可以从任何IP登录
    # slave 从的身份


    4.导出当前数据库的数据,发送给从库,进行导入
    mysqldump -u root -p --all-databases > /tmp/db.dump

    5.发送主库的mysql数据,给从库
    scp /tmp/db.dump root@从库ip:/opt/



    (E325:注意
    发现交换文件".XX.XX.swp"
    出现这种情况就 rm -rf .XX.XX.swp 删掉就好

    从库配置如下:

    1.编辑从库的 mysql配置文件,写入 一个 身份id号,区别于主库
    vim /etc/my.cnf
    写入主机身份id
    server-id=10 #不能喝主库一样

    # 2,3,4 步骤都是在从数据库中敲的
    2.通过一条命令,确保主从成功


    change master to master_host='192.168.11.229', # 给从库指定一个 主库
    master_user='shixun',
    master_password='shixundsb',
    master_log_file='s17-mysql-bin.000001', #用show master status;
    master_log_pos=1510;

    3.开启slave同步 # 在从库中执行

    start slave ;


    4.检查主从同步是否正常
    show slave statusG # 格式化输出 用此条命令来查看

     

     

    5.可以测试往主库写入数据,查看从库数据
    show databases ;
    如果一致的话,说明同步成功

  • 相关阅读:
    使用 Traefik 代理 UDP 服务
    KubeOperator界面,集群详情中的存储,存储提供商
    centos7使用yum方式安装node_exporter
    Traefik2.3.x 使用大全(更新版)
    jumpserver堡垒机版本升级,从2.14.2升级到2.16.3
    Traefik 2.0 实现灰度发布
    matplotlib 中文问题
    数据采集实战(五) 当当网童书排名
    雅可比行列式迭代及优化(golang版)
    mysql8.x docker 远程访问配置
  • 原文地址:https://www.cnblogs.com/yuchen1301152/p/10545824.html
Copyright © 2011-2022 走看看