为了账号安全,请及时绑定邮箱和手机立即绑定

mysql高可用性之主从复制

标签:
MySQL

1.主从原理

webp

image.png


从库生成两个线程,一个I/O线程,一个SQL线程;
i/o线程去请求主库 的binlog,并将得到的binlog日志写到relay log(中继日志) 文件中;
主库会生成一个 log dump 线程,用来给从库 i/o线程传binlog;
SQL 线程,会读取relay log文件中的日志,并解析成具体操作,来实现主从的操作一致,而最终数据一致;


2.主从用途
mysql主从复制用途

  • 实时灾备,用于故障切换

  • 读写分离,提供查询服务

  • 备份,避免影响业务

3.基础配置
环境 Linux centos 7+
A主数据库IP:192.168.111.111;

B从数据库IP:192.168.111.116;

4.配置主数据库A

启动mariadb.service;

1.添加一个同步账户

GRANT FILE ON . TO ‘yezt’@'192.168.111.116' IDENTIFIED BY ‘123456’;

GRANT REPLICATION SLAVE ON . TO ‘yezt’@'192.168.111.116' IDENTIFIED BY ‘123456’;

创建A数据库用户

create user 'yezt'@'%' identidied by '123456';

授权用户

grant all privileges on . to 'yezt'@'%' with grant option

2.添加一个数据库作为同步数据库

create database test;

3.创建一个表结构

create table mytest (username varchar(20),password varchar(20));

4.修改配置文件(/etc/my.cnf)

[mysqld]

server-id=1

log-bin=mysql-bin

binlog-do-db=test #要同步的数据库

5.重启服务

systemctl restart mariadb.service

进入数据库查看server-id;

mariadb>show variables like 'server_id';

webp

image.png

6.用show master status\G命令查看日志情况

webp

image.png

(可以用flush logs 命令来刷新得到最新的mysql-bin.000008文件)

5.设置从数据库B为slave

1.重复A的创建数据库和表结构

3.修改配置文件

Mysql版本从5.1.7以后开始就不支持“master-host”类似的参数;如果配置my.cnf会出现 [ERROR] /usr/local/webserver/mysql/libexec/mysqld: unknown variable 'master-host=192.168.111.111'的错误

所以只需要配置

webp

image.png

之后在数据库执行

mariadb>change master to master_host='192.168.111.111', master_user='yezt', master_password='123456', master_log_file='mysql-bin.000008', master_log_pos=0;

(备注:master_log_file需要和主数据库一致,否则重新到A那flush logs,master_log_pos要设置为了,否则开始位置会出问题)

启动slave

start slave

6.用show slave status\G命令查看日志情况

正常情况如下

webp

image.png

不正常时候last_IO_Error会报错

用生成的账户登录A数据库插入数据

webp

image.png

从数据库得到

webp

image.png

备注:如果从数据无法连接主数据库,尝试先关闭主数据库的防火墙



作者:阿卡摩西
链接:https://www.jianshu.com/p/8a1b55277d37


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消