Linux环境下Mysql5.7主从配置

MySQL主从同步的机制:

一、MySQL同步的流程大致如下:

 1、主服务器(master)将变更事件(更新、删除、表结构改变等等)写入二进制日志(master log)。

 2、从服务器(slave)的IO线程从主服务器(binlog dump线程)获取二进制日志,并在本地保存一份自己的二进制日志(relay log)

 3、从服务器的SQL线程读取本地日志(relay log),并重演变更事件。

在这里插入图片描述

二、MySQL主从同步的作用:

 1、可以作为一种备份机制,相当于热备份(在从备份,避免备份期间影响主服务器服务)

 2、可以用来做读写分离,均衡数据库负载(主写从读)

 3、当主服务器出现问题时,可以切换到从服务器。

环境

服务器:contos7.6
mysql版本:5.7.33
主库ip:10.255.53.46
从库ip:10.255.53.47

一、主库配置

1、打开主库my.cnf,编辑配置如下内容:

vim /etc/my.cnf
[mysqld]
lower_case_table_names=1
character-set-server=utf8
#开启日志 
log-bin = mysql-bin
#设置服务id,主从不能一致,一般设置为ip最后一段
server-id = 46 
#设置需要同步的数据库 
binlog-do-db=mypay 
    
#屏蔽系统库同步 
binlog-ignore-db=mysql 
binlog-ignore-db=information_schema 
binlog-ignore-db=performance_schema
[client]
default-character-set=utf8 
[mysql]
default-character-set=utf8

2、授权主从复制专用账号

登录主库,执行如下命令

#创建同步帐号db_sync,密码db_sync
GRANT REPLICATION SLAVE ON *.* TO 'db_sync'@'%' IDENTIFIED BY 'db_sync'; 
#更新数据库权限 
flush privileges; 

3、查询master的状态

show master status; 

在这里插入图片描述
记录一下File信息和Position信息

从库配置

1、打开从库my.cnf,编辑配置如下内容:

vim /etc/my.cnf
[mysqld]
lower_case_table_names=1
character-set-server=utf8
#开启日志 
log-bin = mysql-bin 
#设置服务id,主从不能一样,一般设置为ip最后一段
server-id = 47 
#主从库名相同,设置需要同步的数据库 
#replicate_wild_do_table=mypay.% 
#从库端替换库名
replicate_rewrite_db=mypay -> mypay-slave
#设置需要同步的数据库 
replicate_wild_do_table=mypay-slave.% 

#屏蔽系统库同步 
replicate_wild_ignore_table=mysql.% 
replicate_wild_ignore_table=information_schema.% 
replicate_wild_ignore_table=performance_schema.%
[client]
default-character-set=utf8 
[mysql]
default-character-set=utf8

2、执行同步命令

根据主库信息,执行同步命令。MASTER_LOG_FILE为File信息、MASTER_LOG_POS为Position信息,从前文记录的信息中读取。

#设置主数据库ip,同步帐号密码,同步位置
CHANGE MASTER TO MASTER_HOST='10.255.53.46',MASTER_PORT=3306,MASTER_USER='db_sync', MASTER_PASSWORD='db_sync',MASTER_LOG_FILE='mysql-bin.000001',MASTER_LOG_POS=1529;
#开启同步功能 
mysql>start slave;

3、检查从数据库状态

show slave status

在这里插入图片描述

在这里插入图片描述
当然当你执行完最后一条代码看到两个YES的时候就说明success!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值