重启网卡服务、WEB架构、分布式、centos7安装mysql、设置开机启动、mysql主从复制、数据同步设置、

重启网卡service network restart

分布式存储——mysql

一、 WEB架构演变

二、 分布式系统理论

1. 集群的概念

l 服务器集群就是指将很多服务器集中起来一起进行同一种服务,在客户端看来就像是只有一个服务器。集群可以利用多个计算机进行并行计算从而获得很高的计算速度,也可以用多个计算机做备份,其中有任何一个机器出故障,其他机器能够顶替并正常运行,提高系统的容灾性。

服务器集群处理提高系统性能,提高响应速度,还可以用作容灾备份,例如MySQL的主从复制与双主互备。

2. 分布式系统的概念

分布式系统(distributed system)是建立在网络之上的软件系统。正是因为软件的特性,所以分布式系统具有高度的内聚性和透明性。因此,网络和分布式系统之间的区别更多的在于高层软件(特别是操作系统),而不是硬件。

l 在分布式数据库系统中,用户感觉不到数据是分布的,即用户不须知道关系是否分割、有无副本、数据存于哪个站点以及事务在哪个站点上执行等。

3. 集群与分布式的区别

l 集群指的是将几台服务器集中在一起,实现同一业务。

l 分布式是指将不同的业务分布在不同的地方。

4. 分布式应用的业务场景

分布式存储:HDFS(大数据用到)MySQLOracle

l 分布式缓存:Redis(可以持久化存储本地)Memcache(只能缓存)

分布式服务:SOA(面向于接口)、微服务(将大项目拆分于小项目)

分布式webServerTomcatApache

分布式协调中心:Zookeeper

分布式消息队列:Kafka、RabbitMQ

分布式实时数据平台:StormAkka

分布式离线数据平台:Hadoop(存储非结构化数据和海量计算TB)Spark

l 分布式搜索:ElasticsearchSolr

l 分布式日志:FlumeELK

l 分布式容器:DockerKubernetes

负载均衡:NginxLVS

三、 centos7安装mysql

l rpm的安装方式

输入 yum -y remove mariadb-libs-1:5.5.44-2.el7.centos.x86_64 解决兼容问题

3个包扔进去

 

直接安装

rpm -ivh MySQL-server-5.5.58-1.el7.x86_64.rpm MySQL-client-5.5.58-1.el7.x86_64.rpm MySQL-devel-5.5.58-1.el7.x86_64.rpm

 

启动服务

 

设置开机自启动

 

设置mysql密码

 

登录

 

四、 MySQL主从复制(冷备)

1. 普通文件的同步

l NFS网络文件共享可同步存储数据

l windowssamba

l Linux定时任务

查看此时的定时任务crontab -l

 

设置定时任务crontab -e

每分钟同步文件

* * * * * cp /etc/profile /home/profile.bak

*代表时间,顺序是:分 时      周

2-6 表示 2 3 4 5 6

 

 

 删除定时任务

 

l ftp数据同步

l ssh+scp服务器远程同步

2. 文件系统的同步

l drbd(基于文件系统同步),几乎同步任何业务数据

3. 数据库的同步

l MySQL主从复制(数据同步)

l Oracle DataGuard(甲骨文推出的一种高可用性数据库方案)

4. MySQL主从复制介绍

直接关机,叉掉,复制虚拟机

l MySQL支持单向、双向、

l 链式级联

 

实时、异步复制,在复制过程中,一台服务器充当主服务器(master),一个或多个其他服务器充当从服务器(slave)

复制可以是单向:M——>S

 

也可以是双向:M<——>M

 

5. 主从复制的应用场景

l 主从服务器互为备份,加强数据库架构的健壮性

l 主从服务器读写分离,分担网站压力,从服务器只处理用户的查询请求

l 将从服务器,按照业务拆分,分担压力

6. 主从复制的原理

l SQLyog也有mysql的日志信息

l Master(主数据库)将改变记录到二进制日志(binary log)中

l Slave将Master的二进制日志事件(binary log events)拷贝到它的中继日志(relay log)

l Slave重做中继日志(Relay Log)中的事件,将Master上的改变反映到它自己的数据库中

l 这些是由从库在做,所以是异步的数据同步

 

7. CentOS7搭建MySQL主从复制

1.必须检查防火墙是否已经关闭,若开启状态,先关闭

 

第一台机器如下:

复制mysql配置文件模板到/etc/my.cnf

cp /usr/share/mysql/my-medium.cnf /etc/my.cnf

 

重启mysql

 

可以查询到第一台机器,id1

 

第二台机器:

复制配置文件

cp /usr/share/mysql/my-medium.cnf /etc/my.cnf

 

修改id2

 

 

 重启mysql服务

 

进入mysql查看id修改成功

 

 

 第一台机器:

mysql里查看主库的日志文件信息

 

 

 第二台机器:

l slave节点mysql中输入如下,红色你安装自己的改,IP是主库IP

l 日志文件信息,要跟上面查到的信息对应

把如下语句,整个粘贴到第二台机器mysql中执行

change master to

master_host='192.168.113.128',

master_user='root',

master_password='admin',

master_log_file='mysql-bin.000009',

master_log_pos=187;

 

启动从服务

 

可以查看从服务信息

 

第一台机器:

执行授权,两边都授权刷新一下

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

 

刷新设置

 

测试:第一台机器建个库,第二台机器也存在

 

 8. 主从复制存在的问题

l 因为是异步同步,有可能丢失极小一部分数据

9. CentOS7搭建MySQL双主互备(热备)

l 双主互备就是要保持两个数据库的状态自动同步,对任何一个数据库的操作都自动应用到另外一个数据库,始终保持两个数据库数据一致,这样做的意义是既提高了数据库的容灾性,又可以做负载均衡,可以将请求分摊到其中任何一台上,提高网站吞吐量

第二台机器:

查看日志信息

 

第一台机器:

change master to

master_host='192.168.113.129',

master_user='root',

master_password='admin',

master_log_file='mysql-bin.000006',

master_log_pos=263;

 

l 在master输入以下内容:IP是第二台机器

change master to

master_host='192.168.190.131',

master_user='root',

master_password='admin',

master_log_file='mysql-bin.000001',

master_log_pos=419;

启动从服务,start slave;

 

测试:第二台创建个库,第一台也同步

 

 

原文地址:https://www.cnblogs.com/zhang-da/p/13034157.html