第十二周作业



1.主从复制及主主复制的实现

1.1 主从复制


在这里插入图片描述在这里插入图片描述
在这里插入图片描述


在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

测试
在这里插入图片描述

1.2 主主复制


在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


在这里插入图片描述
在这里插入图片描述

测试

在这里插入图片描述
在这里插入图片描述

同时插入数据
在这里插入图片描述

同时创建数据库(示例是报错,我这不知道为何没报错,数据库版本Mariadb10.3.28)
在这里插入图片描述
在这里插入图片描述


2.xtrabackup实现全量+增量+binlog恢复库

安装
在这里插入图片描述
在源主机做完全备份到/backup
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
第一次修改数据
在这里插入图片描述
第一次增量备份

在这里插入图片描述
在这里插入图片描述
查看第一次备份相关文件
在这里插入图片描述
在这里插入图片描述
第二次修改数据
在这里插入图片描述

第二次增量备份
在这里插入图片描述
在这里插入图片描述
查看第二次备份相关文件
在这里插入图片描述
将备份传输到还原主机上
在这里插入图片描述
在这里插入图片描述

还原过程

1)预准备完成备份,此选项–apply-log-only 阻止回滚未完成的事务
在这里插入图片描述
在这里插入图片描述
2)合并第1次增量备份到完全备份
在这里插入图片描述
在这里插入图片描述
3)合并第2次增量备份到完全备份;最后一次还原不需要加选项–apply-log-only
在这里插入图片描述
在这里插入图片描述
4)复制到数据库目录,注意数据库目录必须为空,mysql服务不能启动
在这里插入图片描述
5)还原属性
在这里插入图片描述
6)启动服务
在这里插入图片描述
7)查看数据库 在这里插入图片描述
在这里插入图片描述


3.MyCAT实现MySQL读写分离

1.安装Mycat和数据库
在这里插入图片描述
2.修改主从数据库配置文件
在这里插入图片描述

3.Master上创建复制用户
在这里插入图片描述
4.slave上执行
在这里插入图片描述
5.启动mycat
在这里插入图片描述
6.查看日志,确认成功
在这里插入图片描述

7.用默认密码连接mycat

8.在Mysql服务器上修改mycat的连接信息
在这里插入图片描述
其他地方省略,可在底行命令模式快速查询 :/user name=

9.修改schem.xml实现读写分离策略
在这里插入图片描述
在这里插入图片描述
10.在后端主服务器创建用户并对mycat授权
在这里插入图片描述

11.在Mycat服务器上连接测试
在这里插入图片描述
在这里插入图片描述
12.通过通用日志确认实现读写分离
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

13.停止从节点,Mycat自动调度读请求至主节点
在这里插入图片描述


4.ansible常用模块介绍

4.1 command模块

 功能:在远程主机执行命令,此为默认模块,可忽略-m选项
 注意:此命令不支持 $VARNAME < > | ; & 等,用shell模块实现

4.2 shell模块

 功能:和command相似,用shell执行命令,支持各种符号,比如:*,$,>

4.3 cript模块

 功能:在远程主机上运行ansible服务器上的脚本(无需执行权限),相当于scp+shell的组合命令

4.4 copy模块

 功能:从ansible服务器主控端复制文件到远程主机,类似于scp,但速度不及scp
 copy命令中带的参数信息

owner     :所属主
group     :所属组
mode      :权限
force     :如果目标主机包含该文件,但内容不同,则设置yes后会强制覆盖,设置为no后,只有当目标主机的目标位置不存在该文件时,才复制改文件到目标主机;默认值为yes。
backup    :在覆盖之前备份源文件,备份文件包含时间

 Tip1:使用此模块,需要提前关闭所有机器的selinux功能,否则会报错
 Tip2:copy模块跟rsync命令一样,如果路径使用"/"来结尾,只复制目录里的内容,反之,则包含目录在内的整个内容全部被复制。

4.5 fetch模块

 功能:从远程主机提取文件至ansible的主控端,copy相反,目前不支持目录

4.6 file模块

 功能:设置文件属性,创建软链接等

group     :定义文件或目录的属组。
mode      :定义文件或目录的权限。
owner     :定义文件或目录的属主。
path      :必选项,定义文件或目录的路径。
recurse   :递归设置文件的属性,只对目录有效。
src       :被链接的源文件路径,只对应state=link的情况。
dest      :被链接到的路径,只应用于state=link的情况。
force     :强制创建软链接,两种情况:一种是源文件不存在,但之后会建立;另一种是要先取消已创建的软链接,再创建新的软链接,有两个选项yes和no。
state     :后面连接文件的各种状态,例如下面的directory、link、hard、file及absent。
link      :创建软链接。
hard      :创建硬链接。
directory :如果目录不存在,则创建目录。
file      :即时文件不存在,也不会被创建。
absent    :删除目录、文件或链接文件。
touch     :如果文件不存在,则会创建一个新的文件,如果文件或目录已存在,则其最后的修改时间,类似于touch效果

4.7 unarchive模块

 功能:解包解压缩

 实现有两种用法:
  1.将ansible主机上的压缩包传到远程主机后解压缩至特定目录,设置copy=yes
  2.将远程主机上的某个压缩包解压缩到指定路径下,设置copy=no

 常见参数:

copy      :默认为yes,当copy=yes,拷贝的文件是从ansible主机复制到远程主机上,如果设置为copy=no,会在远程主机上寻找src源文件
remote_src:和copy功能一样且互斥,yes表示在远程主机,不在ansible主机,no表示文件在ansible主机上
src       :源路径,可以是ansible主机上的路径,也可以是远程主机(被管理端或者第三方主机)上的路径,如果是远程主机上的路径,则需要设置copy=no
dest      :远程主机上的目标路径
mode      :设置解压缩后的文件权限

4.8 archive模块

 功能:打包压缩保存在被管理节点

format指定压缩格式:bz2, gz, tar, xz, zip    #可写可不写
path:要压缩的文件或目录
des:压缩后的文件名称

4.9 Hostname模块

 功能:管理主机名

4.10 cron模块

 功能:计划任务
 支持时间:minute,hour,day,month,weekday

4.11 yum和apt模块

 功能:
  yum 管理软件包,只支持RHEL,CentOS,fedora,不支持Ubuntu其它版本
  apt 模块管理 Debian 相关版本的软件包

 参数:

config_file        :yum的配置文件。
disable_gpg_check  :关闭gpg_check。
disablerepo        :不启用某个源。
enablerepo         :启用某个源。
name               :要进行操作的软件包的名字,也可以传递一个url或一个本地的rpm包的路径。
state              :present|absent|latest,state状态对应了3种软件包状态,这里present和latest都表示安装,而absent则表示移除。

 在被控端安装Nginx的yum源安装Nginx软件包
 注:state的安装状态可不写,删除一定要写

4.12 service模块

 功能:管理服务

4.13 user模块

 功能:管理用户

4.14 group模块

 功能:管理用户

4.15 lineinfile模块

 ansible在使用sed进行替换时,经常会遇到需要转义的问题,而且ansible在遇到特殊符号进行替换时,存在问题,无法正常进行替换。其实在ansible自身提供了两个模块:lineinfile模块和replace模块,可以方便的进行替换。

 一般在ansible当中去修改某个文件的单行进行替换的时候需要使用lineinfile模块。

 regexp参数:使用正则表达式匹配对应的行,当替换文本时,如果有多行文本都能被匹配,则只有最后面被匹配到的那行文本才会被替换,当删除文本时,如果有多行文本都能被匹配,这么这些行都会被删除。

 如果想进行多行匹配进行替换需要使用replace模块。

 功能:相当于sed,可以修改文件内容

4.16 replace模块

 该模块有点类似于sed命令,主要也是基于正则进行匹配和替换,建议使用

4.17 setup模块

 setup 模块来收集主机的系统信息,这些 facts 信息可以直接以变量的形式使用,但是如果主机较多,会影响执行速度,可以使用 gather_facts: no 来禁止 Ansible 收集 facts 信息。

4.18 synchronize模块

 synchronize模块回调用rsync命令,因此首先要记得提前安装好rsync软件包。
 synchronize模块用于将ansible机器的指定目录推送到客户机器的指定目录下:

4.19 get_url模块

 get_url模块可以实现在远程主机上下载url到本地,这个模块应该用的比较多

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Adorable老犀牛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值