• 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 ;
    如果一致的话,说明同步成功

  • 相关阅读:
    缓存一致性问题
    缓存雪崩
    mysql Replication机制
    数据库水平切分、拆库拆表
    mysql分表和分区实际应用简介
    mysql中间件
    mysql基础知识
    go语言redis使用(redigo)
    nginx location配置与rewrite配置
    PDO驱动使用
  • 原文地址:https://www.cnblogs.com/yuchen1301152/p/10545824.html
Copyright © 2020-2023  润新知