190145-MariaDB主从

补充

想要直接用mysql这个命令除了加path,还可以创建软连接:ln -s /usr/local/mysql/bin/mysql /usr/bin/

what

MySQL/MariaDB主从又叫做Replication、AB复制。简单讲就是A和B两台机器做主从后,在A上写数据,另外一台B也会跟着写数据,两者数据实时同步的,MySQL主从基于binlog,主上须开启binlog才能进行主从。

主从过程大致有3个步骤

  1. 主将更改操作记录到binlog里
  2. 从将主的binlog事件(sql语句)同步到从本机上并记录在relaylog里
  3. 从根据relaylog里面的sql语句按顺序执行

主从有3个线程:

主上有一个log dump线程,用来和从的I/O线程传递binlog
从上有两个线程,其中I/O线程用来同步主的binlog并生成relaylog,另外一个SQL线程用来把relaylog里面的sql语句落地

mysql主从使用场景:

1)数据备份,主机器宕机,从机器还能随时对web提供服务
2)读写分离,作为一个从库,读的库,减轻主库的压力,数据备份且可以分担主机器被调用数据时的压力,写的操作只能在主库,不能在从库,如果从库写数据就会导致主从不同步。
补充几篇文章,希望大家有时间看看,面试的时候也许会被问到

https://blog.csdn.net/xiaoyi23000/article/details/80521423
https://www.cnblogs.com/abobo/p/4242417.html
http://blog.itpub.net/15498/viewspace-2125085/

主从搭建

准备
两台机器

aming01 主
aming02 从
两台机器都安装 MariaDB

  • 主上配置
    aming01上开启binlog:log-bin=aminglinux
    定义server-id:server-id=128
    定义log-bin
    重启服务
    授权主从用户 grant replication slave on . to ‘repl’@‘192.168.222.129’ identified by ‘repl_passwd’;

  • 从上配置
    aming02上定义server-id:server-id=129
    增加 replicate_wild_do_table 或者 replicate_wild_ignore_table
    replicate_wild_ignore_table=mysql.user ##忽略user表,mysql.% 通配,所有表

  • 备份主上的数据,恢复到从上
    备份 mariabackup --backup --user=root --password=aminglinux --target-dir /data/190310

*拷贝
rsync -a /data/190310/ 192.168.222.129:/data/190310/

  • 在从上恢复
    停止数据库
    清空datadir
    mariabackup --prepare --target-dir /data/190310/
    mariabackup --copy-back --target-dir /data/190310/
    改属主、属组
    启动

  • 开启主从同步
    在从上
    stop slave;
    change master to master_host=‘192.168.222.128’, master_port=3306, master_user=‘repl’, master_password=‘repl_passwd’, master_log_file=‘xxxxx’, master_log_pos=xxx;
    在这里插入图片描述
    start slave;

测试主从
从上:
show slave status\G
在这里插入图片描述
如果这里是no,可以看下的last-IO-error显示的错误信息
主上创建库、创建表,从上查看

show create table mysql.user   查看创表命令
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值