自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(56)
  • 收藏
  • 关注

原创 Docker的跨主机网络

Docker的跨主机网络解决方案主要包括Overlay和Underlay两种网络模型。Overlay网络通过VxLAN隧道实现多主机间容器通信,具有扩展性和灵活性,但可能因数据包封装带来性能损失。Underlay网络如Macvlan直接在二层通过VLAN连接容器,性能更优,但配置复杂。Flannel和Calico是Kubernetes中常用的网络插件,Flannel简单易用,Calico性能高且支持复杂网络策略。Docker的Overlay网络需要key-value存储服务(如Consul)来保存网络状态信

2025-05-23 09:16:08 763

原创 Docker 单主机网络

Docker单主机网络模式主要包括host、bridge、null和joined-container四种。host模式直接使用宿主机的网络接口,无需NAT转换,但可能导致端口冲突;bridge模式是默认模式,通过虚拟网桥实现容器与外部网络的通信;null模式使容器与外部网络完全隔离;joined-container模式允许多个容器共享一个网络命名空间。此外,可以通过自定义bridge网络实现容器间的互通,提升隔离性和通信效率。在Redis集群实战中,通过创建自定义网络和配置多个Redis容器,实现了高可用的

2025-05-23 08:59:42 741

原创 docker底层原理

Docker 通过 --cpu-shares 指定 CPU 份额,默认值为1024,值为1024的倍数。Namespece的六项隔离,实现了容器与宿主机、容器与容器之间的隔离。每个虚拟机都有独立的操作系统,资源的分配由各自的操作系统分别管理。容器没有独立的操作系统,系统资源的分配由docker引擎统一管理。运行在其中的应用就像是在独立的操作系统中运行一样。名称空间是Linux内核一个强大的特性。设置50%的比例分配CPU使用时间上限。每个容器都有自己单独的六个名称空间,

2025-05-22 17:42:01 846

原创 docker镜像仓库

docker-compse工具的作用是编排镜像,可以像剧本一样把要做的事先规划好,例如要启动的镜像、镜像名字、运行机制、数据卷,实现更加便捷、快速。注:指定多个私有仓库时, "insecure-registries": ["192.168.10.13","192.168.10.12:5000"]创建命名空间——名称——镜像仓库——创建镜像仓库——(仓库名称于镜像名称相同)——本地仓库。已有仓库 library。(需vpn连接下载)

2025-05-22 17:39:16 867

原创 使用Dockerfile创建镜像

将宿主机上的jdk复制到容器中(jdk-8u91-linux-x64.tar.gz)宿主机上解压、改名后复制。

2025-05-22 17:32:17 907

原创 docker常用命令及镜像制作

一、镜像命令docker search #搜索镜像docker pull/push #下载/上传镜像 docker images #查看所有本地主机上的镜像 可以使用docker image ls代替docker tag #源镜像名 新镜像名docker rmi #删除镜像docker image prune #移除没有标签并且没有被容器引用的镜像,dangling(摇晃)镜像 示例:拉取tomcat镜像[root@docker-01 ~]# docker

2025-05-22 17:16:44 942

原创 安装docker与docker的用法

CentOS 7(使用yum进行安装)root@192.168.10.12:/backuproot@192.168.10.12:/backuproot@192.168.10.12:/root/

2025-05-22 17:12:51 533

原创 pxc_cluster

将本机(8.20)的hosts文件拷贝到8.21,8.22的/etc目录下。三台全新的centos7,不要安装MySQL,关闭防火墙和selinux。当把pxc1(8.20)的虚拟机关机之后,集群节点只显示2个节点。当pxc1(8.20)的MySQL服务启动后,会自动加入群集中。在pxc2(8.21)和pxc3(8.22)上查看是否同步。启动后,可以登录任意节点并使用以下命令查看集群状态。,重新开机之后pxc1(8.20)会自动接入集群中。关闭pxc1(8.20)的mysql服务。

2025-05-22 17:05:11 626

原创 部署mgr

因此,组复制MGR是一个无共享的复制方案,每一个节点都保存了完整的数据副本。即是在主节点执行和提交事务,然后把他们异步的发送到从节点,行复制的重新执行主节点的SQL语句,这是一个 shared-nothing 的系统,默认情况下所有 server 成员都有一个完整的数据副本。网上对组复制和 Galera 的对比很多,特别是 2016 年组复制出生后大火的" Galera 将死"的言论,但实际上,仍然有很多人在用着 pxc,毕竟它已经扬帆航行多年,而 GR 才出没多久,前几个版本也一直在修修补补。

2025-05-22 16:59:57 551

原创 myal分布式解决方案

Mycat是一个开源的分布式数据库系统,其核心功能是分表分库,即将一个大表水平分割为多个小表,存储在后端MySQL或者其他数据库里。取名Mycat原因一是简单好记,另一个则是希望未来能够入驻 Apache,Apache的开源产品Tomcat也是一只猫。MyCAT 是一个彻底开源的,面向企业应用开发的“大数据库集群” 支持事务、ACID、可以替代Mysql的加强版数据库;一个可以视为“Mysql”集群的企业级数据库,用来替代昂贵的Oracle集群 ; 一个融合内存缓存技术、Nosql技术、 HDFS大数据的新

2025-05-16 18:02:12 626

原创 双主从复制

本文介绍了如何通过双主复制和Keepalived实现MySQL的高可用性,防止单点故障。首先,配置两台MySQL服务器(db01和db02)互为主从,并安装Keepalived实现热备。通过修改MySQL配置文件,确保GTID模式和主从复制的一致性。接着,在两台服务器上配置Keepalived,设置虚拟IP(VIP)以实现故障切换。最后,第三台MySQL服务器(db03)与VIP建立主从关系,确保数据同步。通过这种方式,系统能够在主服务器故障时自动切换到备用服务器,保证服务的连续性。

2025-05-16 17:15:08 640

原创 MHA配合Atlas实现读写分离

本文介绍了如何通过MHA(Master High Availability)和Atlas实现MySQL数据库的读写分离。首先,针对MHA架构的不足,提出了优化方案,包括引入VIP实现透明切换、故障报警机制以及通过binlog server进行日志补偿,以减少数据丢失和缩短故障恢复时间。接着,详细描述了MHA的配置参数和故障排查步骤,确保高可用架构的稳定运行。随后,介绍了Atlas作为MySQL中间件的功能及其安装配置过程,包括如何设置读写分离、管理节点状态以及进行基本的管理操作。最后,通过实际测试验证了At

2025-05-16 15:55:22 604

原创 MHA高可用

MHA(Master High Availability)是一种用于MySQL数据库的高可用性解决方案,主要由MHAManager和MHANode组成。MHAManager负责监控主节点状态并在故障时触发切换,而MHANode则执行相关指令。MHA支持自动故障切换、在线主库切换和一主多从架构,确保在30秒内完成故障切换,最大化数据一致性。搭建MHA环境需要至少三台服务器,配置GTID、二进制日志和server_id等参数,并通过SSH互信和安装MHA软件包实现高可用性。MHA还支持故障提醒和自动修复功能,确

2025-05-16 15:41:41 898

原创 主从复制高级进阶

本文介绍了MySQL主从复制的高级进阶技术,包括延时从库、过滤复制、半同步复制、GTID复制和MHA高可用性配置。延时从库通过设置SQL线程的延迟时间来应对逻辑故障,提供了故障恢复的思路和步骤。过滤复制允许从库仅复制或拒绝特定的数据库或表,增强了复制的灵活性。半同步复制通过主库延迟提交事务来确保数据一致性,而GTID复制则通过全局唯一的事务ID简化了复制管理和故障恢复。最后,MHA(Master High Availability)提供了一种高可用性解决方案,通过自动故障转移和主库切换来确保数据库服务的连续

2025-05-16 15:29:58 716

原创 主从复制1

本文详细介绍了数据库高可用性架构及主从复制的实现与监控。首先,通过计算全年无故障率,展示了不同故障率下的停机时间,强调了金融级别的高可用性要求。接着,介绍了高可用架构方案,包括负载均衡、主备系统和多活系统,并重点讲解了MySQL主从复制的原理、搭建过程及故障处理。主从复制基于binlog实现,主库记录操作日志,从库通过IO线程获取并回放日志,SQL线程执行中继日志以保持数据一致。文章还详细描述了主从复制的监控命令和常见故障的排查方法,如IO线程和SQL线程的故障处理。最后,分析了主从延时的原因及监控方法,强

2025-05-16 15:11:39 655

原创 mysql触发器

1.MySQL触发器简介MySQL 数据库中触发器是一个特殊的存储过程;存储过程要使用 CALL 语句来调用,而触发器的执行是事件(insert、update、delete)自动触发。2.引发触发器执行的事件,如下:增加一条学生记录时,会自动检查年龄是否符合范围要求。每当删除一条学生信息时,自动删除其成绩表上的对应记录。每当删除一条数据时,在数据库存档表中保留一个备份3.触发程序的优点,如下:触发程序的执行是自动的,当对触发程序相关表的数据做出相应的修改后立即执行。触发程序可以通过数据库中相关的表层叠修改另

2025-05-16 15:07:50 857

原创 备份还原2

文章主要介绍了MySQL数据库备份与恢复的两种常用工具:mysqldump和Xtrabackup,并详细说明了它们的使用方法和核心参数。 mysqldump: 核心参数包括-A(备份所有数据库)、-B(指定数据库)、--master-data=2(记录二进制日志信息)、--single-transaction(针对InnoDB进行快照备份)等。 适用于全量备份,支持锁表功能,适合主从复制场景。 Xtrabackup: 针对InnoDB表进行快照备份,非InnoDB表则进行锁表备份。 备份过程中会记录LSN(

2025-05-16 14:42:22 955

原创 备份还原1

本文主要介绍了MySQL二进制日志(binlog)的开启、配置、清理及备份恢复的相关操作。首先,通过设置log_bin和binlog_format参数开启binlog,并建议使用行级格式(RBR)以避免恢复歧义。其次,介绍了binlog的自动和手动清理方法,如设置expire_logs_days和使用PURGE BINARY LOGS命令。接着,详细说明了如何通过mysqldump和Xtrabackup进行全备和增量备份,并强调了备份策略的设计和备份可用性的检查。最后,通过一个模拟故障恢复的案例,展示了如何

2025-05-16 14:26:19 675

原创 mysql日志管理

一. 上节回顾 1. 表空间 1.1 说明 独立表空间 : 5.6 开始的默认表空间,一个表一个ibd文件,存储数据行和索引. ***** 共享表空间 : 5.5 默认的模式, 所有表的行和索引都存储到ibdata1 说明: 从5.6 开始,不再使用共享表空间模式 5.6版本 数据字典信息 + UNDO + tmp 5.7版本 把tmp独立了 8.0版本 把UNDO独立 1.2 表空间迁移 ***** (1)创建和原表结构相同的表 (2)新建表的ibd删除 alter table t1 di

2025-05-12 10:54:24 905

原创 存储引擎(2)

7.MySQL再次重启时,必须要redolog和磁盘数据页的LSN是一致的.但是,此时dp_01,TXID=tx_01磁盘是LSN=101,dp_01,TXID=tx_01,redolog中LSN=102。-rw-r----- 1 mysql mysql 96K 11月 30 18:26 t222.ibd 表。truncate:删除表所有行,释放空间 ***)-rw-r----- 1 mysql mysql 8.4K 11月 30 18:26 t222.frm。

2025-05-08 16:36:34 477

原创 存储引擎(1)

1.简介 相当于Linux文件系统,只不过比文件系统强大 2、功能了解 数据读写 数据安全和一致性 提高性能 热备份 自动故障恢复 高可用方面支持 3. 存储引擎介绍 show engines; CSV MRG_MYISAM MyISAM BLACKHOLE PERFORMANCE_SCHEMA MEMORY ARCHIVE InnoDB F

2025-05-08 16:32:53 870

原创 索引补充及视图

16+1(1是存储了是否为空,如果不是not null,NULL就会占用1个字节存储是否为空),提高读写效率。MUL索引显示在其中一列,就是第一列K1,所以查询的语句必须加K1才会使用这个索引。varvhar:2位占用10个字节(有2位存储长度),实际长度+2。mb4:1个汉字占4个字节,不是mb4占3个字节。2.5 key_len 索引覆盖长度 ****建立索引的原则(DBA运维规范) ***因为是范围查询,所以只走k1和K2。经常做为where条件列建立索引,不走索引的情况(开发规范) ***

2025-05-08 16:27:58 712

原创 索引设计执行计划

索引及执行计划索引的作用类似于一本书中的目录,通过索引可以快速定位到数据具体的物理存储位置,起到优化查询的作用。索引的分类(算法) **B树 默认使用的索引类型(原型:平衡二叉树算法)B+树R树HashFullText 全文索引GIS 索引BTREE索引算法演变(了解) ***B- 叶子节点无水平指针B+ 叶子节点有水平指针,可以方便范围查询B* 枝节点有水平指针,mysql当前默认Btree索引功能上的分类聚集索引(唯一性) ***(1)MySQL 会自动选择主键作为聚集索引列,没有主键会选择唯

2025-05-08 16:17:31 447

原创 sql基础应用扩展

显示信息为:only_full_group_by,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION。在带有group by 字句的select中,select 后的条件列(非主键列),要么是group by后的列,要么需要在函数中包裹。仅复制only_full_group_by后面的字段,然后修改mysql配置文件。

2025-05-08 16:05:15 505

原创 SQL之数据查询语言.

SELECT t.tname as 讲师,GROUP_CONCAT(CONCAT(st.sname,":",sc.score)) as 学生成绩 FROM teacher as t JOIN course as c ON t.tno=c.tno JOIN sc ON c.cno=sc.cno JOIN student as st ON sc.sno=st.sno WHERE sc.score<60 GROUP BY t.tname;-- 6. 查询laoli所教的不及格的学生姓名。表别名是全局调用的.

2025-05-08 16:03:13 921

原创 mysql基础应用

MySQL原生的Online DDL还是有很多限制的,还是会遇到data meta lock的问题等诸多不便,通过pt-osc在线执行DDL。-> gender ENUM('m','f','n') NOT NULL DEFAULT 'n' COMMENT '性别',`gender` enum('m','f','n') NOT NULL DEFAULT 'n' COMMENT '性别',`age` tinyint(3) unsigned NOT NULL DEFAULT '0' COMMENT '年龄',

2025-05-08 15:34:34 816

原创 mysql架构原理

1、体系结构C/S(客户端/服务端)模型介绍TCP/IP方式(远程、本地):mysql -uroot -p123 -h 192.168.8.36 -P3306Socket方式(仅本地):mysql -uroot -p123 -S /tmp/mysql.sock2、实例介绍数据库实例:(一台mysql服务器)mysqld后台守护进程Master Thread (主线程)worker Thread (工作线程)预分配的内存3 、mysqld程序运行原理3.1 mysqld程序结构3.2 一条SQL语句的执行

2025-05-08 14:12:41 802

原创 安装mysql

安装和基本配置下载和上传软件到/usr/src1、 解压[root@mysql ~]# tar xf mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz -C /usr/local[root@mysql ~]# cd /usr/local[root@mysql local]# mv mysql-5.7.20-linux-glibc2.12-x86_64/ mysql修改环境变量及生效vim /etc/profileexport PATH=/usr/loca

2025-05-08 14:05:17 693

原创 zookeeper + kafka.docx

Kafka 是最初由 Linkedin 公司开发,是一个分布式、支持分区的(partition)、多副本的(replica),基于 Zookeeper协调的分布式消息中间件系统,它的最大的特性就是可以实时的处理大量数据以满足各种需求场景,比如基于 hadoop的批处理系统、低延迟的实时系统、Spark/Flink 流式处理引擎,nginx 访问日志,消息服务等等,用 scala 语言编写, Linkedin 于 2010 年贡献给了 Apache 基金会并成为顶级开源项目。比如大量的请求并发访问数据库,

2025-05-07 17:10:09 983

原创 tomcat

Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta项目中的一个核心项目,由Apache,Sun和其他一些公司及个人共同开发而成。Tomcat和Nginx,Apache(httpd),lighttpd等Web服务器一样,具有处理HTML页面的功能,另外它还是。可以包含其它组件的组件,如server服务器,engine引擎,host主机,context上下文。位于一个容器内,不能包含其它组件,如Valve,logger。

2025-05-07 17:02:58 447

原创 elk日志分析管理

登录--左侧面板选择visualize--点击“+”号--选择图表类型--选择索引--Buckets--x-Axis--Aggregation(选择Terms)--发现逐渐减少,是因为logstash从redis拿数据,然后发送给elasticsearch。Elasticsearch: 数据库,存储数据,分析,处理 java。在elk-1上,进行压力测试ab -c 1000 -n 1000。登录--左侧面板选择--Monitoring--启用监控。公司网站不合理,前端网页制作。kibana:分析,过滤,

2025-05-07 15:03:59 503

原创 redis

redis-cli是Redis命令行工具,是一个命令行客户端程序,可以将命令直接发送到Redis,并直接从终端读取服务器返回的应答。缓存用户信息,缓存Mysql部分数据,用户先访问redis,redis没有再访问mysql。RPUSH list1 1 2 3 4 #创建列表list1,值为1 2 3 4。集群(将主从和哨兵融合,形成6个节点三对主从关系,注意永远是三主三从的结构)LRANGE list1 0 -1 #查看list1所有值。哨兵(监控主服务器,如果主服务器死掉,从服务器变为主服务器)

2025-05-07 14:39:11 684

原创 elk安装操作

2、客户端使用GET、POST、PUT、DELETE4个表示操作方式的动词对服务端资源进行操作:GET用来获取资源,POST用来新建资源(也可以用于更新资源),PUT用来更新资源,DELETE用来删除资源;5、客户端与服务端之间的交互在请求之间是无状态的,从客户端到服务端的每个请求都必须包含理解请求所必需的信息。打开谷歌浏览器——点击右上角三个点——扩展程序——管理扩展程序——打开开发者模式(右上角。注意:已经存在的索引,不能修改分片数,只能修改副本数。)——加载已解压的扩展程序——选择文件夹。

2025-05-07 14:33:07 442

原创 redis集群

CLUSTER SETSLOT NODE <node_id> 将槽 slot 指派给 node_id 指定的节点,如果槽已经指派给另一个节点,那么先让另一个节点删除该槽>,然后再进行指派。只要这些节点彼此可以正常通信,最终他们会打成一致的状态,当节点出现故障,新节点加入,主从角色变化等,它能够给不断的ping/pong消息,从而达到同步目的。前面说了,我们虽然有6个节点,但是真正负责数据写入的只有3个节点,其他3个节点只是作为主节点的从节点,也就是说,只需要分配期中三个节点的槽位就可以了。

2025-05-06 17:19:36 535

原创 redis

redis相当于程序与程序间的中间介,起到桥梁的作用。访问mysql数据库时会出现访问权限,语法错误,而且mysql的访问验证非常严格,访问速度会比较慢。当一些数据访问量很大的时候就会存储到redis,redis没有严格的约束,用户可以直接访问redis(非关系型数据库)这样访问速度变快;如果redis中没有想要的数据,就去访问mysql数据库。从而提高访问速度。一、数据库分类sql关系型(按表存): mysql oracle sqlserver db2 postgresqlnosql非关系型:red

2025-05-06 17:17:39 350

原创 jenkins(​​​​搭建移动能效管理平台)

移动能效管理平台

2025-05-06 15:38:44 798

原创 jenkins持续集成和自动化部署

右上角--admin 点击下拉三角--Configure--Password 字段--修改密码--save 保存 重启服务:systemctl restart Jenkins。点击左上角 logo--回到主页面--选择新项目“New Item”--填写项目名--选择项目 类型“Freestyle project”--save 保存。选择项目--左侧选择“build now”--下面构建历史出现蓝色标志--选择蓝色标志下 拉列表--console output--输出执行过程。

2025-05-06 15:27:16 539

原创 git分布式控制管理系统

与传统的版本管理方式相比,Git提供了更高效和灵活的管理手段,使得团队成员可以并行工作,而不会相互干扰。此外,Git还支持代码还原和版本回溯,使得开发者能够轻松地切换到之前的版本,大大提高了开发效率和代码质量。删除冲突文件内容:带>>>>>>>>> ================= 行,保留想要的内 容,再 commit 注:为了避免合并冲突,尽量不要在 master 分支修改代码。区别于主代码库,创建出来用于新增功能或模块的分支库,仅用户自己有权访问, 修改后合并,一般用于更新版本或添加补丁。

2025-05-06 00:25:10 781

原创 ansible自动化——playbook剧本

打开:/etc/ansible/playbook/scripts/rsync_check.sh(不用修改,打开看一下即可)注意:如果有yum进程,则需要执行:rm -rf /var/run/yum.pid,也可以使用ansible删除。任务的目标主机,多个主机用冒号分隔,一般调用/etc/ansible/hosts中的分组信息。角色,将 hosts剥离出去,由 tasks、handlers等所组成的一种特定的结构集合。缩进:两个字符,默认的 tab键是四个字符,所以要使用 tab键,需要修改.vimrc。

2025-05-06 00:03:32 766

原创 ansible自动化:基本配置安装

(ruby)/ansible(无客户端,中小规模) (python)/saltstack(master-minion)(python)大规模。linux镜像源(组包):wget -O /etc/yum.repos.d/CentOS-Base.repo。[root@www ~]# kill $(cat /var/run/rsyncd.pid) //关闭服务。epel源(扩展包):wget -O /etc/yum.repos.d/epel.repo。ls -lh /etc/hosts 按tab补全。

2025-05-05 23:52:41 976

Redis(Remote Dictionary Server,远程字典服务器)是一种高性能的开源内存数据结构存储系统

Redis(Remote Dictionary Server,远程字典服务器)是一种高性能的开源内存数据结构存储系统,由意大利程序员Salvatore Sanfilippo于2009年开发。Redis最初是为提高初创公司Scalable Hidden Internet Projects的可扩展性而设计的,其核心功能是提供快速的键值对存储和访问

2025-05-06

【LNMP架构部署】分离部署LNMP环境优化:PHP-MySQL-nginx分离实现高安全稳定web服务构建标题严格按照给定

内容概要:本文档详细介绍了如何进行LNMP(Linux, Nginx, MySQL, PHP)环境的分离部署。首先阐述了分离部署的优点如更高的安全性、稳定性、运行速度以及灵活性。然后具体描述了在三台虚拟机构建的实验环境中,实现LNMP组件分离的具体步骤,包括MySQL数据库的迁移、数据备份与恢复、创建管理用户、配置文件修改以适应新的数据库地址、PHP服务的拆分与配置调整、Nginx配置文件的更改使其指向新的PHP服务器等操作。最后通过浏览器访问验证部署是否成功。 适合人群:有一定Linux系统管理和网络基础知识,对LNMP架构有初步了解的技术人员。 使用场景及目标:①希望提高LNMP架构的安全性和性能;②需要掌握LNMP各组件独立部署的方法;③学习如何正确迁移现有LNMP应用到分离部署模式。 其他说明:本实验是在关闭防火墙和SELinux的情况下进行的,实际生产环境中应根据实际情况调整安全策略。在操作过程中涉及多个命令行指令,读者需具备一定的Linux命令行操作能力。

2025-05-04

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除