Mysql数据复制同步(主从数据库)——第七课(未完待续)

DBC 1.6K 0

一、分析Mysql单点存在的问题

  • 小公司用单体服务,单体数据库,大公司考虑性能、考虑安全性、容灾性
  • Mysql复制拓扑结构使用场景: update、delete、insert select
    • 横向扩展(Scale-Out):指在多个从库之间进行读负载均衡,以提高读性能。所有数据变更在主库上执行,把之前在主库上的读负载剥离出来,以承载更多的写请求,另外,如果读负载越来越大,可以通过扩展从库来提高读性能
    • 数据安全性:形成多个备份库,减少在极端场景丢失造成损失,对于主库来说,从库有多个,所以如果在从库上执行备份,对只读应用的可用性影响就要小很多(从库的复制机制本身也支持断点续传)。也就是说,在执行备份操作时,选择使用从库而不使用主库是一个更好的替代方案,这样可以尽量减少对主库性能以及数据安全性的影响

 

Mysql数据复制同步(主从数据库)——第七课(未完待续)插图

常用复制模式:一主多从、MHA+多节点集群 MHA Manage、MHA node

二、Mysql主从数据同步搭建

第一步,在主节点和从节点装好mysql

这一步不多说,懂的都懂!

登录master账户,新创建一个账号,81.71.147.62代表slave地址,mll655就是名字

GRANT REPLICATION SLAVE ON *.* to 'mll655'@'81.71.147.62' identified by '密码尽可能复杂';

接下来在主节点找到mysql的配置文件/etc/my.cnf,增加以下配置

先进入

vim /etc/my.cnf

好像是随便加在哪里都可以,博主加在了中间,具体你们都可以尝试一下

# 开启binlog
log-bin=mysql-bin
server-id=100
# 需要同步的数据库,如果不配置则同步全部数据库
binlog-do-db=android
# binlog日志保留的天数,清除超过20天的日志
# 防止日志文件过大,导致磁盘空间不足
expire-logs-days=20 

刷新系统权限表的配置

FLUSH PRIVILEGES;

重启master节点

systemctl restart mysqld

查看主节点的名字,和pos,下面有用,具体是什么如下图

show master status;

Mysql数据复制同步(主从数据库)——第七课(未完待续)插图2

到这里,主节点的事情干完啦!

进入到slave mysql后,再输入以下命令:

CHANGE MASTER TO 
MASTER_HOST='主节点IP地址',
MASTER_USER='上面主节点名字',
MASTER_PASSWORD='上面的密码',
MASTER_LOG_FILE='mysql-bin.000009',
MASTER_LOG_POS=154,
master_port=3306;

还剩两个,相信很清晰,就是上面主节点我箭头标出来的两个!

启动slave服务

start slave;
show slave status;

结果如下图,就是成功啦

Mysql数据复制同步(主从数据库)——第七课(未完待续)插图4

发表评论 取消回复
表情 图片 链接 代码

分享