mysql主从复制(一)

mysql主从复制(一)

1、相关概念

主从复制用途

实时灾备,用于故障切换(高可用)

读写分离,提供查询服务(读扩展)

数据备份,避免影响业务(高可用)

主从部署必要条件

从库服务器能联通主库

主库开启binlog日志(设置log-bin日志)

主从server-id不同

2、准备工作

搭建两个mysql数据库,一个作为master(主库),一个作为slave(从库),并将其防火墙关闭

systemctl stop iptables

systemctl stop firewalld

systemctl disable firewalld.service

3、相关操作

3.1、开启主库log-bin日志

 如下图所示,编辑主库中mysql配置文件/etc/my.cnf,往里面添加如下信息,其中log_bin=mysql-bin指定log_bin的文件名,server-id指定了服务id,不同步哪些数据库(binlog-ignore-db),以及同步哪些数据库(binlog-do-db),保存好了之后重新启动一下mysql服务(service mysql restart)

3.2、开启主库授权复制

grant replication slave on *.* to 'root'@'%' identified by 'root';

grant all privileges on *.* to 'root'@'%' identified by 'root';

如下图所示,即为刚刚配置的主库信息

3.3、修改从库的配置文件

 如下图所示,编辑从库中mysql配置文件/etc/my.cnf,往里面添加如下信息,其中指定服务id(server-id),指定从库中间日志名字(relay_log),开启只读模式(read_only),保存好了之后重新启动一下mysql服务(service mysql restart)

3.4、从库指定主库的信息

在从库中执行一下命令

change master to master_host='192.168.31.52',master_port=3306,master_user='root',master_password='root',master_log_file='mysql-bin.000001',master_log_pos=701;

master_host(主库主机),master_port(主库端口号),master_user(主库用户名),master_password(主库密码),master_log_file(主库日志文件名称),master_log_pos(主库日志位置)

接着执行开启从库

start slave;

执行查看从库信息

show slave status \G;

4、测试

往主库中创建数据库animal

create database animal;

use animal;

往animal数据库中添加表cat

create table cat(c_id int primary key,c_name varchar(32),c_age int)engine=innodb charset=utf8;

往cat表中插入一条记录

insert into cat value(1,'小白',1);

从从库中查询是否有主库对应的操作信息,如下图所示

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值