MySQL高可用九种方案

news2025/1/16 9:04:01

有的时候博客内容会有变动,首发博客是最新的,其他博客地址可能会未同步,认准https://blog.zysicyj.top

首发博客地址

参考视频


MMM方案(单主)

alt

MySQL高可用方案之MMM(Multi-Master Replication Manager)是一种常用的解决方案,用于实现MySQL数据库的高可用性和负载均衡。

MMM基于MySQL的复制机制,通过在多个MySQL实例之间进行主从复制,实现了数据的同步和备份。它的主要特点是可以实现多主复制,即多个MySQL实例可以同时作为主节点接收写操作,并将这些写操作同步到其他从节点上。

MMM的工作原理如下:

  1. MMM通过监控MySQL实例的状态来实现故障检测和自动故障转移。当一个主节点发生故障时,MMM会自动将其中一个从节点提升为新的主节点,确保数据库的可用性。
  2. MMM还可以根据负载情况自动进行负载均衡。它可以根据每个节点的负载情况,将读操作分发到不同的节点上,从而提高系统的整体性能。
  3. MMM还提供了一些管理工具,可以方便地进行节点的添加、删除和配置修改等操作。

使用MMM可以有效地提高MySQL数据库的可用性和性能。然而,需要注意的是,MMM并不能解决所有的高可用问题,例如**网络分区和数据一致性 **等问题。在实际应用中,还需要结合其他技术和方案,如数据库集群、数据复制和数据备份等,来构建更完善的高可用架构。

MMM作为MySQL高可用方案,具有以下优点和缺点:

优点:

  1. 高可用性:MMM通过自动故障检测和故障转移机制,可以快速将一个从节点提升为新的主节点,从而实现数据库的高可用性,减少系统的停机时间。
  2. 负载均衡:MMM可以根据节点的负载情况,将读操作分发到不同的节点上,从而实现负载均衡,提高系统的整体性能。
  3. 简单易用:MMM提供了一些管理工具,可以方便地进行节点的添加、删除和配置修改等操作,使得系统的管理和维护变得简单易用。

缺点:

  1. 数据一致性:由于MMM采用的是异步复制机制,主节点和从节点之间存在一定的延迟,可能导致数据的不一致。在某些场景下,可能需要额外的措施来确保数据的一致性。
  2. 单点故障:虽然MMM可以自动进行故障转移,但在故障转移过程中,可能会存在一段时间的数据库不可用。如果MMM本身发生故障,可能会导致整个系统的不可用。
  3. 配置复杂性:MMM的配置相对复杂,需要对MySQL的复制机制和MMM的工作原理有一定的了解。在配置过程中,需要注意各个节点的配置一致性和正确性。

http://blog.zysicyj.top/mysql_mmm

MHA架构(单主)

架构图

alt

MySQL MHA(Master High Availability)是一种用于MySQL数据库的高可用性架构。它的设计目标是确保在主数据库发生故障时,能够快速自动地将备库(Slave)提升为新的主库,以保证系统的连续性和可用性。

MHA架构由以下几个核心组件组成:

  1. Manager节点:Manager节点是MHA的核心组件,负责监控主库的状态并自动执行故障切换操作。它通过与MySQL主库和备库建立SSH连接,实时监测主库的状态,并在主库发生故障时触发自动故障切换。

  2. Master节点:Master节点是MySQL数据库的主库,负责处理所有的写操作和读操作。MHA会通过与Master节点建立SSH连接,实时监测主库的状态。

  3. Slave节点:Slave节点是MySQL数据库的备库,负责复制主库的数据。MHA会通过与Slave节点建立SSH连接,实时监测备库的状态。

MHA的工作流程如下:

  1. Manager节点通过SSH连接与Master节点和Slave节点进行通信,实时监测它们的状态。

  2. 当Manager节点检测到Master节点发生故障时,它会自动将一个备库提升为新的主库。

  3. 在故障切换期间,Manager节点会自动更新应用程序的配置文件,将新的主库信息通知给应用程序。

  4. 一旦新的主库上线,Manager节点会自动将其他备库重新配置为新的主库的从库,并开始复制数据。

MHA架构的优点包括:

  1. 自动故障切换:MHA能够自动检测主库的故障,并快速将备库提升为新的主库,减少了手动干预的需要,提高了系统的可用性。

  2. 实时监测:MHA通过与Master节点和Slave节点建立SSH连接,实时监测它们的状态,能够及时发现故障并采取相应的措施。

  3. 简化配置:MHA提供了简单易用的配置文件,可以轻松地配置主库和备库的信息,减少了配置的复杂性。

  4. 高可扩展性:MHA支持多个备库,可以根据需求灵活地扩展系统的容量和性能。

MHA架构虽然有很多优点,但也存在一些潜在的缺点:

  1. 配置复杂性:尽管MHA提供了简化的配置文件,但对于不熟悉MHA的用户来说,配置仍然可能是一项复杂的任务。特别是在涉及多个主库和备库的复杂环境中,配置可能变得更加困难。

  2. 依赖SSH连接:MHA使用SSH连接与主库和备库进行通信和监控。这意味着在配置和使用MHA时,必须确保SSH连接的可用性和稳定性。如果SSH连接出现问题,可能会导致MHA无法正常工作。

  3. 故障切换过程中的数据同步延迟:在故障切换期间,MHA需要将备库提升为新的主库,并重新配置其他备库作为新的从库。这个过程可能需要一些时间,导致在切换期间存在一定的数据同步延迟。这可能会对某些应用程序的数据一致性产生影响。

  4. 依赖MySQL复制功能:MHA依赖MySQL的复制功能来实现数据的同步和复制。如果MySQL的复制功能出现问题,可能会导致MHA无法正常工作或数据同步不完整。

  5. 需要额外的硬件资源:为了实现高可用性,MHA需要至少一个备库来作为冗余备份。这意味着需要额外的硬件资源来支持备库的运行和数据复制,增加了系统的成本和复杂性。

需要注意的是,MHA并不是万能的解决方案,它适用于大多数的MySQL数据库场景,但在特定的情况下可能需要根据实际需求进行定制化的配置和调整。此外,为了确保MHA的正常运行,还需要进行定期的监控和维护工作,以保证系统的稳定性和可靠性。

MGR架构(单/多主)

MGR(MySQL Group Replication)是MySQL官方提供的一种高可用性架构,用于实现MySQL数据库的主从复制和自动故障切换。MGR基于MySQL的InnoDB存储引擎和Group Replication插件,通过使用多主复制的方式来提供高可用性和数据一致性。

MGR架构的核心组件包括:

  1. Group Replication组件:Group Replication是MySQL官方提供的插件,用于实现多主复制和自动故障切换。它基于Paxos协议,通过在集群中的成员之间进行通信和协调,实现数据的同步和一致性。

  2. Primary节点:Primary节点是MGR集群中的主节点,负责处理所有的写操作和读操作。Primary节点接收来自应用程序的写请求,并将数据复制到其他节点(Secondary节点)上。

  3. Secondary节点:Secondary节点是MGR集群中的从节点,负责复制Primary节点上的数据。Secondary节点通过与Primary节点进行通信,接收并应用Primary节点上的写操作,以保持数据的一致性。

MGR架构的工作流程如下:

  1. 初始化集群:在MGR架构中,首先需要选择一个节点作为初始Primary节点,并将其配置为Group Replication组件的成员。然后,其他节点可以加入到集群中,并通过与Primary节点进行通信,获取数据并成为Secondary节点。

  2. 数据同步:一旦集群初始化完成,Primary节点开始接收来自应用程序的写请求,并将数据复制到其他节点上。Secondary节点通过与Primary节点进行通信,接收并应用Primary节点上的写操作,以保持数据的一致性。

  3. 自动故障切换:如果Primary节点发生故障,Group Replication组件会自动选择一个Secondary节点作为新的Primary节点,并将其他节点重新配置为新的Secondary节点。这个过程是自动的,无需人工干预。

MGR架构的优点包括:

  1. 自动故障切换:MGR能够自动检测Primary节点的故障,并快速将一个Secondary节点提升为新的Primary节点,实现自动故障切换,提高了系统的可用性。

  2. 数据一致性:MGR使用Paxos协议来保证数据的一致性。在写操作提交之前,集群中的成员会达成一致,确保数据在所有节点上的复制是一致的。

  3. 简化配置和管理:MGR提供了简单易用的配置选项和管理工具,使得集群的配置和管理变得更加简单和方便。

  4. 高可扩展性:MGR支持多主复制,可以根据需求灵活地扩展系统的容量和性能。

需要注意的是,MGR架构也有一些限制和注意事项:

  1. 网络稳定性:MGR对网络的稳定性要求较高,因为节点之间需要进行频繁的通信和数据同步。如果网络不稳定,可能会导致数据同步延迟或节点之间的通信故障。

  2. 数据冲突:由于MGR支持多主复制,如果应用程序在不同的节点上同时进行写操作,可能会导致数据冲突和一致性问题。因此,需要在应用程序层面进行合理的设计和处理。

  3. 配置复杂性:尽管MGR提供了简化的配置选项和管理工具,但对于不熟悉MGR的用户来说,配置仍然可能是一项复杂的任务。特别是在涉及多个节点和复杂环境中,配置可能变得更加困难。

在使用MGR之前,建议进行充分的测试和评估,以确保它能够满足系统的可用性和性能要求,并根据具体的应用场景和需求进行适当的配置和调整。

Mysql cluster(官方亲儿子)(多主)

官方PDF文档: {% pdf /static/pdf/mysql-cluster-datasheet.zh.pdf %}

MySQL Cluster是MySQL官方提供的一种分布式数据库解决方案,旨在提供高可用性、可扩展性和实时性能。它基于NDB(Network DataBase)存储引擎,使用多台服务器组成一个集群,提供数据的分片和复制,以实现高可用性和负载均衡。

MySQL Cluster架构的核心组件包括:

  1. Management节点:Management节点是MySQL Cluster的控制节点,负责集群的管理和配置。它负责监控集群中的各个节点,并协调数据的分片和复制。

  2. Data节点:Data节点是MySQL Cluster的存储节点,负责存储和处理数据。每个Data节点都运行NDB存储引擎,数据被分片存储在不同的Data节点上,以实现数据的分布和负载均衡。

  3. SQL节点:SQL节点是MySQL Cluster的查询节点,负责处理应用程序的查询请求。SQL节点接收来自应用程序的SQL查询,并将查询分发到适当的Data节点上进行处理。

MySQL Cluster架构的工作流程如下:

  1. 集群初始化:在MySQL Cluster中,首先需要配置和启动Management节点,然后配置和启动Data节点和SQL节点。Management节点负责监控和管理集群中的各个节点。

  2. 数据分片和复制:一旦集群初始化完成,Management节点会根据配置的规则将数据分片存储在不同的Data节点上。数据的复制和同步由MySQL Cluster自动处理,以保证数据的一致性和可用性。

  3. 查询处理:当应用程序发送查询请求时,SQL节点接收并解析查询,并将查询分发到适当的Data节点上进行处理。Data节点返回查询结果给SQL节点,然后SQL节点将结果返回给应用程序。

MySQL Cluster架构的优点包括:

  1. 高可用性:MySQL Cluster通过数据的分片和复制,以及自动故障检测和恢复机制,实现了高可用性。即使某个节点发生故障,集群仍然可以继续提供服务。

  2. 可扩展性:MySQL Cluster支持水平扩展,可以通过增加Data节点来扩展存储容量和处理能力。同时,由于数据的分片和负载均衡,可以实现更好的性能和吞吐量。

  3. 实时性能:MySQL Cluster的设计目标之一是提供实时性能。通过将数据存储在内存中,并使用并行处理和分布式计算,可以实现较低的延迟和更高的吞吐量。

  4. 数据一致性:MySQL Cluster使用多副本复制和同步机制,以保证数据的一致性。即使在节点故障或网络分区的情况下,数据仍然可以保持一致。

需要注意的是,MySQL Cluster也有一些限制和注意事项:

  1. 配置复杂性:MySQL Cluster的配置相对复杂,需要考虑数据分片、复制和负载均衡等因素。对于不熟悉MySQL Cluster的用户来说,配置可能是一项具有挑战性的任务。

  2. 内存需求:由于MySQL Cluster将数据存储在内存中,因此对内存的需求较高。需要根据数据量和性能需求来配置足够的内存资源。

  3. 网络稳定性:MySQL Cluster对网络的稳定性要求较高,因为节点之间需要进行频繁的通信和数据同步。如果网络不稳定,可能会导致数据同步延迟或节点之间的通信故障。

在使用MySQL Cluster之前,建议进行充分的测试和评估,以确保它能够满足系统的可用性、性能和扩展性要求,并根据具体的应用场景和需求进行适当的配置和调整。

Galera Cluster(多主)

alt

Galera Cluster是一个基于同步多主复制的MySQL集群解决方案。它使用Galera Replication插件,通过在多个MySQL节点之间同步数据来实现高可用性和负载均衡。

Galera Cluster的核心组件包括:

  1. Galera Replication插件:Galera Replication是一个基于同步复制的插件,用于实现数据的多主复制和一致性。它使用了多主复制协议,确保在集群中的所有节点之间的数据同步和一致性。

  2. Primary Component:Primary Component是Galera Cluster中的主组件,负责处理所有的写操作和读操作。Primary Component接收来自应用程序的写请求,并将数据复制到其他节点(Secondary Component)上。

  3. Secondary Component:Secondary Component是Galera Cluster中的从组件,负责复制Primary Component上的数据。Secondary Component通过与Primary Component进行通信,接收并应用Primary Component上的写操作,以保持数据的一致性。

Galera Cluster的工作流程如下:

  1. 初始化集群:在Galera Cluster中,首先需要配置和启动一个节点作为初始Primary Component,并将其配置为Galera Replication插件的成员。然后,其他节点可以加入到集群中,并通过与Primary Component进行通信,获取数据并成为Secondary Component。

  2. 数据同步和复制:一旦集群初始化完成,Primary Component开始接收来自应用程序的写请求,并将数据复制到其他节点上。Secondary Component通过与Primary Component进行通信,接收并应用Primary Component上的写操作,以保持数据的一致性。

  3. 自动故障切换:如果Primary Component发生故障,Galera Cluster会自动选择一个Secondary Component作为新的Primary Component,并将其他节点重新配置为新的Secondary Component。这个过程是自动的,无需人工干预。

Galera Cluster的优点包括:

  1. 高可用性:Galera Cluster通过数据的多主复制和自动故障切换,实现了高可用性。即使某个节点发生故障,集群仍然可以继续提供服务。

  2. 数据一致性:Galera Cluster使用多主复制协议,确保在集群中的所有节点之间的数据同步和一致性。在写操作提交之前,集群中的成员会达成一致,确保数据在所有节点上的复制是一致的。

  3. 简化配置和管理:Galera Cluster提供了简单易用的配置选项和管理工具,使得集群的配置和管理变得更加简单和方便。

  4. 可扩展性:Galera Cluster支持水平扩展,可以通过增加节点来扩展存储容量和处理能力。同时,由于数据的多主复制和负载均衡,可以实现更好的性能和吞吐量。

需要注意的是,Galera Cluster也有一些限制和注意事项:

  1. 网络稳定性:Galera Cluster对网络的稳定性要求较高,因为节点之间需要进行频繁的通信和数据同步。如果网络不稳定,可能会导致数据同步延迟或节点之间的通信故障。

  2. 写冲突:由于Galera Cluster支持多主复制,如果应用程序在不同的节点上同时进行写操作,可能会导致写冲突和一致性问题。因此,需要在应用程序层面进行合理的设计和处理。

  3. 配置复杂性:尽管Galera Cluster提供了简化的配置选项和管理工具,但对于不熟悉Galera Cluster的用户来说,配置可能是一项具有挑战性的任务。

在使用Galera Cluster之前,建议进行充分的测试和评估,以确保它能够满足系统的可用性、性能和扩展性要求,并根据具体的应用场景和需求进行适当的配置和调整。

PXC架构(多主)

PXC(Percona XtraDB Cluster)是一个基于Galera Cluster的高可用性和高性能的MySQL集群解决方案。它是由Percona开发的,建立在Galera Replication插件之上,提供了多主复制和数据同步的功能。

PXC架构的核心组件包括:

  1. Galera Replication插件:PXC使用Galera Replication插件来实现数据的多主复制和一致性。该插件基于同步复制的原理,确保在集群中的所有节点之间的数据同步和一致性。

  2. Primary Component:Primary Component是PXC集群中的主组件,负责处理所有的写操作和读操作。Primary Component接收来自应用程序的写请求,并将数据复制到其他节点(Secondary Component)上。

  3. Secondary Component:Secondary Component是PXC集群中的从组件,负责复制Primary Component上的数据。Secondary Component通过与Primary Component进行通信,接收并应用Primary Component上的写操作,以保持数据的一致性。

PXC架构的工作流程如下:

  1. 初始化集群:在PXC中,首先需要配置和启动一个节点作为初始Primary Component,并将其配置为Galera Replication插件的成员。然后,其他节点可以加入到集群中,并通过与Primary Component进行通信,获取数据并成为Secondary Component。

  2. 数据同步和复制:一旦集群初始化完成,Primary Component开始接收来自应用程序的写请求,并将数据复制到其他节点上。Secondary Component通过与Primary Component进行通信,接收并应用Primary Component上的写操作,以保持数据的一致性。

  3. 自动故障切换:如果Primary Component发生故障,PXC会自动选择一个Secondary Component作为新的Primary Component,并将其他节点重新配置为新的Secondary Component。这个过程是自动的,无需人工干预。

PXC架构的优点包括:

  1. 高可用性:PXC通过数据的多主复制和自动故障切换,实现了高可用性。即使某个节点发生故障,集群仍然可以继续提供服务。

  2. 数据一致性:PXC使用Galera Replication插件,确保在集群中的所有节点之间的数据同步和一致性。在写操作提交之前,集群中的成员会达成一致,确保数据在所有节点上的复制是一致的。

  3. 简化配置和管理:PXC提供了简单易用的配置选项和管理工具,使得集群的配置和管理变得更加简单和方便。

  4. 可扩展性:PXC支持水平扩展,可以通过增加节点来扩展存储容量和处理能力。同时,由于数据的多主复制和负载均衡,可以实现更好的性能和吞吐量。

需要注意的是,PXC也有一些限制和注意事项:

  1. 网络稳定性:PXC对网络的稳定性要求较高,因为节点之间需要进行频繁的通信和数据同步。如果网络不稳定,可能会导致数据同步延迟或节点之间的通信故障。

  2. 写冲突:由于PXC支持多主复制,如果应用程序在不同的节点上同时进行写操作,可能会导致写冲突和一致性问题。因此,需要在应用程序层面进行合理的设计和处理。

  3. 配置复杂性:尽管PXC提供了简化的配置选项和管理工具,但对于不熟悉PXC的用户来说,配置可能是一项具有挑战性的任务。

在使用PXC之前,建议进行充分的测试和评估,以确保它能够满足系统的可用性、性能和扩展性要求,并根据具体的应用场景和需求进行适当的配置和调整。

RAID10(数据可靠性方案)(单点问题)

alt

RAID10(Redundant Array of Independent Disks 10)是一种存储方案,它结合了RAID 1(镜像)和RAID 0(条带化)的特性。RAID10通过将多个磁盘组合在一起,提供了数据冗余和性能增强的优势。

在RAID10中,磁盘被分为两组,每组至少有两个磁盘。其中一组磁盘使用镜像技术,即数据被同时写入两个磁盘,提供了数据的冗余备份。另一组磁盘使用条带化技术,即数据被分块地写入多个磁盘,提供了更好的读写性能。

RAID10的特点和优势包括:

  1. 数据冗余:RAID10通过镜像技术提供了数据的冗余备份。如果一个磁盘发生故障,数据仍然可以从镜像磁盘中恢复,保证了数据的可靠性和可用性。

  2. 高性能:RAID10通过条带化技术提供了更好的读写性能。数据可以同时从多个磁盘读取或写入,提高了数据访问的速度和吞吐量。

  3. 故障容忍:由于RAID10具有数据冗余性,当一个磁盘发生故障时,系统可以继续正常运行,并且可以在更换故障磁盘后进行数据恢复,减少了系统停机时间。

  4. 容量利用率:RAID10的容量利用率较低,因为数据被同时写入两个磁盘。例如,如果有4个1TB的磁盘组成RAID10,实际可用的存储容量只有2TB。

需要注意的是,RAID10的缺点包括:

  1. 成本较高:由于RAID10需要使用多个磁盘进行数据镜像和条带化,所以成本较高。相比其他RAID级别,RAID10需要更多的磁盘。

  2. 容量利用率较低:由于数据被同时写入两个磁盘,RAID10的容量利用率较低。如果容量是一个关键因素,可能需要考虑其他RAID级别。

RAID10适用于对数据冗余性和性能要求较高的应用场景,如数据库服务器、虚拟化环境和高性能计算等。在选择RAID级别时,需要根据具体的需求和预算来权衡各种因素。

SAN存储网络(数据存储解决方案)(除了贵没有缺点)

SAN(Storage Area Network)是一种专门用于存储数据的高速网络架构。它将存储设备(如磁盘阵列、磁带库等)与服务器连接起来,提供高性能、高可用性和可扩展性的存储解决方案。

SAN存储网络的特点和优势包括:

  1. 存储共享:SAN允许多台服务器共享存储设备,使得数据可以在不同的服务器之间共享和访问。这样可以提高数据的灵活性和共享性,减少存储资源的浪费。

  2. 高性能:SAN使用高速的网络连接(如光纤通道、以太网等),提供了高带宽和低延迟的数据传输。这使得存储设备可以提供更高的读写性能,满足对存储性能要求较高的应用场景。

  3. 高可用性:SAN通过冗余和故障切换机制,提供了高可用性的存储解决方案。如果一个存储设备或连接发生故障,系统可以自动切换到备用设备或路径,保证数据的可靠性和可用性。

  4. 可扩展性:SAN具有良好的可扩展性,可以根据需求灵活地扩展存储容量和性能。通过添加新的存储设备或扩展现有设备的容量,可以满足不断增长的存储需求。

  5. 管理简便:SAN提供了集中管理和监控的功能,使得存储资源的配置、监控和管理变得更加简便和高效。管理员可以通过集中的管理界面对存储设备进行配置和管理,提高了管理效率。

需要注意的是,SAN存储网络也有一些限制和注意事项:

  1. 成本较高:相比于其他存储解决方案,SAN的成本较高。它需要专用的硬件设备和高速网络连接,这增加了部署和维护的成本。

  2. 配置复杂性:SAN的配置和管理相对复杂,需要专业的知识和技能。对于不熟悉SAN的用户来说,配置和管理可能是一项具有挑战性的任务。

SAN存储网络适用于对存储性能、可用性和扩展性要求较高的应用场景,如大型企业、数据中心、虚拟化环境等。在选择和部署SAN存储网络时,需要根据具体的需求和预算来权衡各种因素,并确保与服务器和应用程序的兼容性。

DRBD方案(数据存储解决方案)(系统自带)

alt

MySQL与DRBD结合使用可以实现高可用性的数据库方案。通过将MySQL数据库的数据目录配置为DRBD设备,可以实现数据的实时复制和故障转移。

在MySQL与DRBD方案中,通常会有两个节点:一个主节点和一个备节点。主节点负责处理所有的读写操作,并将数据实时复制到备节点上。备节点会持续地从主节点复制数据,以保持数据的一致性。

当主节点发生故障时,备节点可以接管主节点的角色,成为新的主节点,继续提供数据库服务。这种故障转移过程是自动的,可以通过配置和管理工具(如Pacemaker)来实现。

使用MySQL与DRBD方案可以提供数据库的冗余和故障转移能力,从而提高数据库的可靠性和可用性。当主节点发生故障时,系统可以自动切换到备节点,减少数据库服务的中断时间。

需要注意的是,配置和管理MySQL与DRBD方案需要一定的技术知识和经验。此外,对网络的稳定性和带宽要求较高,以确保数据的实时复制和同步。因此,在实施该方案之前,建议进行充分的规划和测试,以确保系统的稳定性和可靠性。

本文由 mdnice 多平台发布

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/998276.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

langchain-chatchat或者说fastchat启动访问404的问题

虽然很白痴,但是我还是记录一下我遇到的问题。 1.问题 最近想测试看看langchain的本地知识库效果,看到一个很完备的库,就是lanchain-chatchat。但是我启动了项目后进行对话回答是乱码的。 经过我的排查,问题不出在webui层&…

XSS入门 XSS Challenges

level1(直接注入) <script>alert(xss)</script>level2(双引号闭合标签) 测试 <sCr<ScRiPt>IPT>OonN"\/(hrHRefEF)</sCr</ScRiPt>IPT>发现<>"被转换&#xff0c;构造新的语句 "><script>alert(/xss/)</…

MySQL高可用搭建方案之(MHA)

有的时候博客内容会有变动&#xff0c;首发博客是最新的&#xff0c;其他博客地址可能会未同步,认准https://blog.zysicyj.top 首发博客地址 原文地址 MHA架构介绍 MHA是Master High Availability的缩写&#xff0c;它是目前MySQL高可用方面的一个相对成熟的解决方案&#xff0…

MyBatis 框架入门理论与实践

文章目录 1. MyBatis 框架介绍1.1 MyBatis优点1.2 MyBatis 不足 2. MyBatis 框架整体架构3. MyBatis 的 ORM 介绍4. MyBatis 框架入门开发4.1 入门案例的搭建4.1.1 准备SQL数据4.1.2 新建 SpringBoot 项目4.1.3 pom文件&#xff1a;4.1.4 配置文件4.1.5 mapper 和 mapper.xml4.…

C语言经典100例题(51-54)--学习使用按位与 ,按位或 |,按位异或 ^和按位取反~

目录 题目 问题分析 按位与操作符&#xff08;&&#xff09; 按位或操作符&#xff08;|&#xff09; 按位异或操作符&#xff08;^&#xff09; 按位取反操作符&#xff08;~&#xff09; 代码及运行结果 题目 学习使用按位与& ,按位或 |,按位异或 ^和按位取反…

Android 10.0 禁用插入耳机时弹出的保护听力对话框

1.前言 在10.0的系统开发中,在某些产品中会对耳机音量调节过高限制,在调高到最大音量的70%的时候,会弹出音量过高弹出警告,所以产品 开发的需要要求去掉这个音量弹窗警告功能 2.禁用插入耳机时弹出的保护听力对话框的核心类 frameworks\base\packages\SystemUI\src\com\an…

宋浩高等数学笔记(十二)无穷级数

完结&#xff0c;宋浩笔记系列的最后一更~ 之后会出一些武忠祥老师的错题&笔记总结&#xff0c;10月份就要赶紧做真题了

windows在gem下安装jekyll的问题

项目场景&#xff1a; 安装jekyll时抛出错误&#xff1a; ERROR: While executing gem … (Gem::RemoteFetcher::FetchError) IO::TimeoutError: Failed to open TCP connection to gems.ruby-china.com:443 (https://gems.ruby-china.com/quick/Marshal.4.8/jekyll-0.1.6.ge…

excl在建模语言中的运用

目录 1.表格的定位 2.数学函数 3.自动填充功能 4.数据透视表的应用 5.切片器 6. Date(),time(),now()&#xff0c;today() 7.文本转日期 8.分裂 9.sumif函数 10.数字转换为文本的方法 11.SUMIFS()函数&#xff1a;多个条件筛选 12.宏 13.提取多个表中&#xff0c;…

【随想】每日两题Day.4

题目&#xff1a;LeetCode 203.移除列表元素 给你一个链表的头节点 head 和一个整数 val &#xff0c;请你删除链表中所有满足 Node.val val 的节点&#xff0c;并返回 新的头节点 。 示例 1&#xff1a; 输入&#xff1a;head [1,2,6,3,4,5,6], val 6 输出&#xff1a;[1,2…

项目部署之持续集成

1. 什么是持续集成 持续集成&#xff08;Continuous integration&#xff0c; 简称CI&#xff09;指的是&#xff0c;频繁地&#xff08;一天多次&#xff09;将代码集成到主干。 持续集成的组成要素 一个自动构建过程&#xff0c; 从检出代码、 编译构建、 运行测试、 结果记…

TDesign 点击高亮显示=》点击切换class类名

1. wx:for遍历数组 2. 在一行显示 2. 点击高亮

NPM 常用命令(七)

目录 1、npm help 1.1 命令使用 1.2 描述 1.3 配置 viewer 2、npm help-search 2.1 命令使用 2.2 描述 2.3 配置 long 3、npm hook 3.1 命令使用 3.2 描述 3.3 示例 3.4 配置 registry otp 4、npm init 4.1 命令使用 4.2 转发附加选项 4.3 示例 4.4 工作…

基于51单片机DS18B20温度及电流检测-proteus仿真-源程序

一、系统方案 本设计采用52单片机作为主控器&#xff0c;液晶1602显示&#xff0c;DS18B20检测温度&#xff0c;电流检测。 二、硬件设计 原理图如下&#xff1a; 三、单片机软件设计 1、首先是系统初始化 void lcd_init() //lcd 初始化设置子函数&#xff0c;不带参数 ,0x…

Matlab图像处理-边缘提取

基本概念 如果一个像素落在图像中某一个物体的边界上&#xff0c;那么它的邻域将成为一个灰度级变化的带。对这种变化最有用的两个特征是灰度的变化率和方向&#xff0c;它们分别以梯度向量的幅度和方向来表示。 边缘检测算子检查每一个像素的邻域并对灰度变化率进行量化&…

100天精通Python(可视化篇)——第100天:Pyecharts绘制多种炫酷漏斗图参数说明+代码实战

文章目录 专栏导读一、漏斗图介绍1. 说明2. 应用场景 二、漏斗图类说明1. 导包2. add函数 三、漏斗图实战1. 基础漏斗图2. 标签内漏斗图3. 百分比漏斗图4. 向上排序漏斗图5. 标准漏斗图 专栏导读 &#x1f525;&#x1f525;本文已收录于《100天精通Python从入门到就业》&…

特殊矩阵的压缩存储(对称矩阵,三角矩阵和三对角矩阵)

目录 1.对阵矩阵 2.三角矩阵 3.三对角矩阵&#xff08;带状矩阵&#xff09; 均假设数组的下标从0开始 1.对阵矩阵 定义&#xff1a;若对一个n阶矩阵A中的任意一个元素 aᵢ,ⱼ 都有aᵢ,ⱼaⱼ,ᵢ &#xff08;1≤i,j≤n&#xff09;&#xff0c;则称其为对称矩阵。 存储策略…

Spring最佳实践: 构建高效可维护的Java应用程序

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…

第7章_瑞萨MCU零基础入门系列教程之UART

本教程基于韦东山百问网出的 DShanMCU-RA6M5开发板 进行编写&#xff0c;需要的同学可以在这里获取&#xff1a; https://item.taobao.com/item.htm?id728461040949 配套资料获取&#xff1a;https://renesas-docs.100ask.net 瑞萨MCU零基础入门系列教程汇总&#xff1a; ht…

编译国产openEuler 22.03 LTS系统OpenSSH 9.4的rpm安装包

目前OpenSSH版本已至9.4&#xff0c;其作为操作系统底层管理平台软件&#xff0c;需要保持更新以免遭受安全攻击&#xff0c;编译生成rpm包是生产环境中批量升级的最佳途径。本文在国产openEuler 22.03 LTS系统上完成OpenSSH 9.4的编译工作。 一、准备编译环境&#xff1a; 1…