MySQL 主从复制
MySQL的主从复制实现的原理就是 binlog 日志,那么我们主节点负责数据库写操作,而从节点负责读操作,这样在从节点上不需要使用事务,能够大大提高数据库的性能。那么这个时候面临的问题就是从节点如何来同步主节点数据的问题,就用到了我们之前说过的 binlog 日志。从节点通过 binlog 日志来与主节点进行数据同步。
视频链接:http://www.roncoo.com/course/view/658088f6e77541f5835b61800314083e
三台节点,一个 master,两个 slave,规划如下
master 192.168.153.201
slave1 192.168.153.152
slave2 192.168.153.153
三台节点都是使用 CentOS6.9 操作系统,数据库使用的是 mysql5.7。
配置 master
1.创建用户并授权,比如我们的用户叫做 repl,创建用户语法如下:
create user ‘repl'
2.授权。用户必须具备 replication slave 权限,除此之外不需要其他的权限
grant replication slave on *.* to 'repl'@'192.168.153.%' identified by 'repl';
3.开启 binlog 日志
这里可以参考开启 binlog 日志的文档。
至此,主服务器就配置好了。下面来进行配置从服务器
slave1
1.修改 my.inf 配置文件
[mysqld]server-id=2relay-log-index=slave-relay-bin.indexrelay-log=slave-relay-bin
2.连接 Master
change master to master_host='192.168.0.104', //Master 服务器 Ip master_port=3306, master_user='repl', master_password='mysql', master_log_file='master-bin.000001',//Master 服务器产生的日志 master_log_pos=0; change master to master_host='192.168.153.201',master_port=3306,master_user='repl',master_passwo rd='repl',master_log_file='/var/lib/mysql/mysql-bin.000001',master_log_pos=0;
3.查看状态
show slaves status\G
这里关注两个地方,第一个是 Slave_IO_Running,第二个是 Slave_SQL_Running。这两个必须都为 yes 才可以启动从节点。那么问题出现在哪里呢,后面会有日志提示
这里是说两台节点的 uuid 一致,要让这两台机器的 uuid 不一致才行,那么 uuid 在哪呢,在我们数据目录下 auto.cnf 文件中,只要修改这个文件就可以了。
再来查看状态,然后就为 yes 了。
4.启动
start slave
5.关闭
stop slave
6.重置
resetslave

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
微服务可靠性设计
1. 背景 微服务化之后,系统分布式部署,传统单个流程的本地API调用被拆分成多个微服务之间的跨网络调用,由于引入了网络通信、序列化和反序列化等操作,系统发生故障的概率提高了很多。 微服务故障,有些是由于业务自身设计或者编码不当导致,有些是底层的微服务化框架容错能力不足导致。在实际项目中,需要从业务和平台两方面入手,提升微服务的可靠性。 1.1. 无处不在的故障 1.1.1. 分布式部署和调用 传统单体架构一个完整的业务流程往往在同一个进程内部完成处理,不需要进行分布式协作,它的工作原理如下所示: 图1-1 传统单体架构本地方法调用 微服务化之后,不同的微服务采用分布式集群部署方式,服务的消费者和提供者通常运行在不同的进程中,需要跨网络做RPC调用,它的工作原理如下所示: 图1-2 微服务分布式RPC调用 分布式调用之后,相比于传统单体架构的本地方法调用,主要引入了如下潜在故障点: 序列化与反序列化:微服务的请求和应答都需要经过序列化和反序列化,做消息的跨网络通信,由于数据结构不一致、不支持的数据类型、对方编解码错误等都会导致序列化和反序列化失败,进而导致微服务调用失败。 网络问题:常...
- 下一篇
在一头扎进机器学习前应该知道的那些事儿
摘要: 本文简单总结了机器学习的几大任务及其对应的方法,方便初学者根据自己的任务选择合适的方法。当掌握机器学习基本知识以及清楚自己所要处理的任务后,应用机器学习就不会那么难了。 机器学习一直是一个火热的研究领域,深度学习方法的提出又为这个领域添了一把火,使得很多人对该领域感兴趣并想投身于该领域的研究之中。那么,对于想从事机器学习领域的人来说,有哪些是应该首先了解的内容呢?本文将简单的介绍下机器学习的基本相关知识。 机器学习是指使计算机系统使用统计技术学习数据的过程,而不需要具体的编程程序。该方法是一个主动学习的算法,使得它能够从数据中学习并进行预测。机器学习与计算统计、数学优化以及数据学习密切相关,通常被用来进行预测、分析等任务。机器学习一般用于处理两类任务: 有监督学习:输入给计算机的示例带有标签(期望输出),基于标签调整建立的模型,以学习输入到输出的映射规则。 无监督学习:输入给计算机的示例没有标签,建立的模型必须通过自身学习产生输出。无监督学习涉及到从数据中发现 隐藏的模式,包含特征学习。 机器学习这个术语对于大多非该领域的人来说听起来很高级,但其实不然。只要你清楚机器学习的基本...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7安装Docker,走上虚拟化容器引擎之路
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- CentOS7设置SWAP分区,小内存服务器的救世主
- Hadoop3单机部署,实现最简伪集群
- CentOS8安装Docker,最新的服务器搭配容器使用
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS7,8上快速安装Gitea,搭建Git服务器
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题