Mysql主从复制实现方式

主节点与从节点配置

MySOL支持一台主服务器同时向多台从服务器进行复制操作,从服务器同时可以作为其他从服务器的主服务器,如果MySQL主服务器访问量比较大,可以通过复制数据,然后在从同各器上进行查询操作,从而降低主服务器的访问压力,同时从服务器作为主服务器的备份,可以避免主服务器因为故障数据丢失的问题。

MySQL数据库复制操作大致可以分成三个步骤:

  1. 主服务器将数据的改变记录到二进制日志(binary log)中。
  2. 从服务器将主服务器的binary log events 复制到它的中继日志(relay log)中。
  3. 从服务器重做中继日志中的事件,将数据的改变与从服务器保持同步。

首先,主服务器会记录二进制日志,每个事务更新数据完成之前,主服务器将这些操作的信息记录在二进制日志里面在事件写入二进制日志完成后主服务器通知存储引擎提交事务。

准备: 了解binlog日志,MySQL用户-权限mysql服务器配置复制不难,但是因为场景不同可能会存在一定的差异化,总的来说分为一下几步:

  1. 在服务器上创建复制账号。
  2. 通知备库连接到主库并从主库复制数据。
角色IP操作系统mysql版本端口复制账号密码
主Master192.168.24.131CentOS7.6.1810mysql8.0.213306mytestmytest
从slave1192.168.24.133CentOS7.6.1810mysql8.0.213306......
从slave2192.168.24.134CentOS7.6.1810mysql8.0.213306......


主库(192.168.24.131)

 

从库(192.168.24.133)

创建用于主库从测试的账号mytest

这账号咋么创建呢??

/*创建账号sql:
create user 'username'@'localhost' identified by 'password';

授权grant [权限] on *.* to 'username'@'localhost' identified by 'password';

 

主要就是下配置文件中添加如下配置

[root@localhost panel]# vi /etc/my.cnf

 

[mysqld]
log-bin=mysql-bin
server-id=1

查看binlog日志是否开启

mysql> show master status;
查看当前binlog日志节点位置

 

 Slave节点配置

修改配置


[root@localhost mysql]# vi /etc/my.cnf
[root@localhost mysql]# service mysql restart
Shutting down MySQL.. SUCCESS! 
 

在配置文件中添加 /etc/my.cnf

# 配置从节点
server-id = 2
relay_log = /usr/local/mysql/data/mysql-relay-bin
relay_log-index = /usr/local/mysql/data/mysql-relay-bin.index
log_slave_updates = 1
read_only = 1

参数介绍:

  1. server_id:这是服务id系统会自动命名的,但如果机器名边画画肯能回答导致问题。可以讲你主库和备库上的log-bin设置为相同的值。
  2. relay_log:指定 中继日志的位置和命名

 

进入从数据库操作

 

指定主节点的ip,端口,用户

mysql> CHANGE MASTER TO MASTER_HOST='192.168.24.131',MASTER_PORT=3306,MASTER_USER='mytest',MASTER_PASSWORD='root',MASTER_LOG_FILE='mysql-bin.000006',MASTER_LOG_POS=2670;

主服务器master配置参数

 

启动从节点

mysql> start slave;
Query OK, 0 rows affected (0.03 sec)

mysql> show slave status \G;
 

 

mysql主从复制设置成功。

 

 

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值