mysql主从复制架构

时间: 2023-05-09 19:00:22 浏览: 72
MySQL主从复制架构指的是一种数据库备份方案,其中一个MySQL服务器充当主服务器 (Master),负责处理所有的数据写操作和更新操作;而另一个或多个MySQL服务器充当从服务器 (Slave),只负责处理数据读操作。主从复制架构主要用于实现高可用性,负载均衡和备份。 当主服务器接收到一个数据更新请求时,会将这个操作记录下来,然后将这些日志传递给一个或多个从服务器,让它们对更新进行处理。从服务器仅仅只是对主服务器的数据进行复制,不会对数据库进行任何的修改操作。这样,如果主服务器出现故障,从服务器就可以立即接管主服务器的工作,保证主服务器的数据不会丢失,并且在故障恢复后,从服务器会继续将数据同步回主服务器,确保数据的一致性。 此外,主从复制架构可以实现数据负载均衡,因为当客户端访问数据库时,可以将其请求发送到任何一个从服务器,从而平均分配所有服务器的负载,提高系统的处理效率。此外,主从复制架构还可以作为备份和恢复数据库的一种方式,因为当主服务器发生故障时,从服务器可以通过复制最新的数据恢复数据库,保证数据不会丢失。 总的来说,MySQL主从复制架构可以提高数据可靠性和系统性能,同时也可以节省数据库备份和恢复的时间和成本。
相关问题

mysql主从复制读写分离

MySQL主从复制和读写分离是一种常用的数据库架构设计。主从复制是指将一个MySQL数据库服务器作为主服务器,将其他MySQL数据库服务器作为从服务器,通过复制主服务器上的数据和操作日志,实现数据的同步。读写分离是指将读操作和写操作分别分配给不同的数据库服务器处理,以提高数据库的并发负载能力和性能。 主从复制和读写分离的原理是通过MySQL的复制机制实现的。主服务器将数据和操作日志复制到从服务器,从服务器可以处理读操作,而写操作仍然由主服务器处理。这样可以减轻主服务器的负载,提高系统的并发能力。 在搭建MySQL主从复制和读写分离时,首先需要配置主服务器和从服务器之间的复制关系,并确保时间同步。然后可以配置读写分离,将读操作分配给从服务器处理。常见的读写分离实现方式有基于程序代码内部实现和基于中间代理层实现。 通过搭建MySQL主从复制和读写分离,可以提高数据库的可用性和性能,同时实现数据的备份和负载均衡。这对于大型企业应用中的数据处理和访问非常重要。

springboot mysql主从复制

### 回答1: 可以回答这个问题。Spring Boot是一个流行的Java Web框架,而MySQL主从复制是MySQL数据库的一种高可用性解决方案,可以实现数据的实时同步。在Spring Boot中使用MySQL主从复制可以提高应用程序的可用性和性能。您可以通过配置MySQL的主从复制来实现数据同步,然后在Spring Boot中使用相应的库来连接MySQL数据库。具体的实现方式可以参考相关的文档和教程。 ### 回答2: Spring Boot是一个开源的Java开发框架,它可以轻松地构建独立的、可扩展的、高效的Java应用程序。MySQL是一个开源的关系型数据库管理系统。 主从复制是一种数据库的高可用性架构,主数据库会将数据变更操作同步到从数据库,以保证数据的一致性和可用性。在Spring Boot中实现MySQL的主从复制可以通过以下步骤进行: 1. 配置主数据库:在application.properties文件中,配置主数据库的连接信息,包括URL、用户名和密码等。 spring.datasource.url=jdbc:mysql://主数据库地址:端口号/数据库名 spring.datasource.username=主数据库用户名 spring.datasource.password=主数据库密码 2. 配置从数据库:在application.properties文件中,配置从数据库的连接信息,包括URL、用户名和密码等。 spring.secondary.datasource.url=jdbc:mysql://从数据库地址:端口号/数据库名 spring.secondary.datasource.username=从数据库用户名 spring.secondary.datasource.password=从数据库密码 3. 配置主从关系:在application.properties文件中,配置主从关系,指定主数据库的数据变更操作同步到从数据库。 spring.jpa.hibernate.ddl-auto=update spring.datasource.initialization-mode=always spring.jpa.generate-ddl=false 4. 创建数据表:使用JPA或者Hibernate等ORM框架,在主数据库和从数据库中创建需要同步的数据表。 @Entity @Table(name = "example_table") public class ExampleEntity { // 省略属性和方法 } 5. 启动应用程序:在Spring Boot应用程序的启动类中,使用@EnableJpaRepositories注解开启JPA仓库功能,使得数据同步可以正常工作。 @SpringBootApplication @EnableJpaRepositories public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } } 通过以上步骤,我们可以实现Spring Boot与MySQL的主从复制。需要注意的是,在实际应用中,还需要配置数据库的主从同步策略、监控机制等,以保证主从复制的可靠性和性能。 ### 回答3: Spring Boot是一个开源框架,它可以帮助我们更快地开发和部署基于Java的应用程序。MySQL是一种流行的关系型数据库管理系统。主从复制是一种数据复制技术,它允许将主数据库的更改自动复制到一组从数据库。 在Spring Boot中使用MySQL主从复制,需要进行以下几个步骤: 1. 配置主数据库:在application.properties文件中配置主数据库的连接信息,包括URL、用户名和密码等。 2. 配置从数据库:在application.properties文件中配置从数据库的连接信息,与主数据库不同的是需要使用一个不同的数据库URL。 3. 添加MySQL驱动程序依赖:在pom.xml文件中添加MySQL驱动程序的依赖,以便在应用程序中可以使用MySQL相关的类和方法。 4. 配置主从复制功能:在主数据库中使用Spring Data JPA或Hibernate等数据库访问框架进行数据的增删改操作,并且在从数据库中配置读取数据的功能,以使从数据库能够获取主数据库的更改。 5. 测试主从复制功能:运行应用程序,进行一些增删改操作,然后验证数据是否正确地被复制到从数据库。 通过上述步骤,我们就可以在Spring Boot中实现MySQL主从复制。这样做的好处是可以提高数据库的读取性能和数据的可用性,因为从数据库可以分担主数据库的读取压力,并且在主库出现故障时,从库可以承担更多的读取和写入操作。同时,Spring Boot提供了简便的配置和开发方式,使得整个过程更加便捷。

相关推荐

MySQL主从复制是一种高可用性和可扩展性的解决方案,可以提高数据库系统的性能和可靠性。 以下是MySQL主从架构搭建的步骤: 1. 配置主服务器:在主服务器上,编辑MySQL配置文件,使其开启二进制日志功能。在my.cnf配置文件中添加以下内容: [mysqld] log-bin=mysql-bin server-id=1 其中,log-bin参数表示开启二进制日志功能,server-id参数表示服务器的唯一ID号,一般设置为1。 2. 创建从服务器账户:在主服务器上,创建一个用于从服务器连接主服务器的账户,并授予REPLICATION SLAVE权限。可以使用以下命令创建账户: CREATE USER 'slave'@'%' IDENTIFIED BY 'password'; GRANT REPLICATION SLAVE ON *.* TO 'slave'@'%'; 其中,'slave'@'%'表示从服务器的IP地址,'password'是账户的密码。 3. 导出主服务器数据:在主服务器上,使用mysqldump命令导出数据库的数据,并将数据保存到一个.sql文件中。可以使用以下命令: mysqldump -u root -p --all-databases --master-data > db.sql 其中,--master-data参数会在导出的SQL语句中加入CHANGE MASTER TO语句。 4. 导入数据到从服务器:将导出的SQL文件拷贝到从服务器上,并使用以下命令导入数据: mysql -u root -p < db.sql 5. 配置从服务器:在从服务器上,编辑MySQL配置文件,设置server-id参数为一个唯一的ID号。可以使用以下命令: [mysqld] server-id=2 6. 启动从服务器:在从服务器上启动MySQL服务,并使用以下命令连接到主服务器: CHANGE MASTER TO MASTER_HOST='master_host', MASTER_USER='slave', MASTER_PASSWORD='password', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=4; 其中,MASTER_HOST参数是主服务器的IP地址,MASTER_USER和MASTER_PASSWORD参数是之前创建的账户和密码,MASTER_LOG_FILE和MASTER_LOG_POS参数是在导出数据时自动生成的,可以在导出的SQL文件中找到。 7. 启动主从复制:在从服务器上,使用以下命令启动主从复制: START SLAVE; 至此,MySQL主从架构就搭建完成了。从服务器会自动从主服务器同步数据,并且可以实现读写分离、负载均衡等功能。
MySQL的读写分离主从复制是一种常见的数据库架构模式,用于提高数据库系统的性能和可用性。在主从复制中,有一个主数据库(Master)负责处理写操作,而一个或多个从数据库(Slave)负责处理读操作。 主从复制的工作原理如下: 1. 主数据库接收到写操作(如插入、更新、删除)时,将操作记录到二进制日志(Binary Log)中。 2. 从数据库连接到主数据库,获取二进制日志,并将这些日志应用到自己的数据库中,以使从数据库的数据与主数据库保持一致。 3. 当有读操作请求时,从数据库直接查询自己的数据,不需要访问主数据库,从而分担了主数据库的读负载。 读写分离的优势在于: 1. 提高了系统的读写性能:读操作由从数据库处理,可以分散读负载,提高系统的并发能力和响应速度。 2. 增加了系统的可用性:即使主数据库发生故障,从数据库仍然可以继续提供读服务,减少了系统的停机时间。 3. 改善了数据安全性:从数据库可以用于备份和故障恢复,保护数据免受意外删除或损坏。 要配置MySQL的读写分离主从复制,需要进行以下步骤: 1. 在主数据库上开启二进制日志功能,并配置唯一的server-id。 2. 在从数据库上配置主数据库的连接信息,并使用CHANGE MASTER TO语句设置从数据库复制主数据库的位置。 3. 启动从数据库的复制进程,使其开始复制主数据库的数据。 4. 在应用程序中,根据需要将读操作发送到从数据库,写操作发送到主数据库。 需要注意的是,主从复制是异步的,因此在进行读操作时,可能会存在稍许的延迟,数据在主从数据库之间的同步并不是实时的。此外,主数据库出现故障时,需要手动切换应用程序的写操作到另一个可用的主数据库。
MySQL主从复制是一种常见的数据库高可用方案,可以在主节点上写入数据,然后将数据复制到一个或多个备份节点。这种架构可以帮助提高数据库的可靠性和可用性。 下面是MySQL主从集群搭建的步骤: 1. 安装MySQL数据库 首先需要安装MySQL数据库,在主节点和备份节点上都要进行安装。可以使用包管理器或者直接从官网下载安装程序。 2. 配置主节点 在主节点上,需要进行以下配置: - 修改配置文件my.cnf,启用binlog和设置server-id,如下所示: server-id=1 log-bin=mysql-bin - 创建一个用于复制的用户,并授权给备份节点使用,如下所示: CREATE USER 'repl'@'%' IDENTIFIED BY 'password'; GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%'; - 重启MySQL服务 3. 配置备份节点 在备份节点上,需要进行以下配置: - 修改配置文件my.cnf,设置server-id,如下所示: server-id=2 - 停止MySQL服务 - 导入主节点的数据备份 - 启动MySQL服务 - 连接主节点,并开始主从复制,如下所示: CHANGE MASTER TO MASTER_HOST='master_host_name', MASTER_USER='replication_user_name', MASTER_PASSWORD='replication_password', MASTER_LOG_FILE='recorded_log_file_name', MASTER_LOG_POS=recorded_log_position; - 启动备份节点上的复制进程,如下所示: START SLAVE; 4. 测试主从复制 在主节点上进行写入操作,然后在备份节点上查询是否同步成功。如果同步成功,则说明主从复制已经正常工作。 以上就是MySQL主从集群搭建的基本步骤,需要注意的是,主从节点之间的网络连接需要保持稳定,否则会影响数据同步的效果。
在Redis和MySQL主从复制的架构中,读写过程通常包括以下步骤: 1. 客户端连接Redis主服务器。客户端通过TCP/IP协议连接Redis主服务器,并进行身份验证。 2. 客户端发送Redis命令。客户端向Redis主服务器发送命令,包括读取和写入操作。 3. Redis主服务器执行命令。Redis主服务器根据接收到的命令执行相应的操作,包括读取和写入数据。 4. Redis主服务器将写入操作同步到MySQL主服务器。Redis主服务器将写入操作同步到MySQL主服务器上,保证数据的持久化。 5. MySQL主服务器将写入操作同步到MySQL从服务器。MySQL主服务器将写入操作同步到MySQL从服务器上,保证数据的复制和备份。 6. 客户端连接Redis从服务器或MySQL从服务器。客户端可以选择连接Redis从服务器或MySQL从服务器进行读取操作。如果连接Redis从服务器,则可以充分利用Redis从服务器的读取性能;如果连接MySQL从服务器,则可以保证数据的一致性和可靠性。 7. 客户端发送读取命令。客户端向Redis从服务器或MySQL从服务器发送读取命令。 8. Redis从服务器或MySQL从服务器执行读取命令。Redis从服务器或MySQL从服务器根据接收到的读取命令执行相应的操作,包括读取数据并返回结果。 9. Redis从服务器或MySQL从服务器将结果返回给客户端。Redis从服务器或MySQL从服务器将执行结果返回给客户端,客户端进行相应的处理。 在Redis和MySQL主从复制的架构中,主服务器负责写操作和数据同步,从服务器负责读操作和数据复制。这样可以充分利用Redis和MySQL各自的优势,同时保证数据的一致性和可靠性。但是需要注意的是,主从复制架构中可能存在数据同步延迟和数据不一致等问题,需要根据实际需求进行相应的优化和调整。
MySQL高可用架构通常包括以下几个关键组件和策略: 1. 主从复制(Master-Slave Replication):通过设置一个主节点(Master)和多个从节点(Slave),将主节点的写操作同步到从节点,实现数据的复制和备份。在主节点故障时,可以将其中一个从节点提升为新的主节点,确保系统的持续可用性。 2. 主主复制(Master-Master Replication):与主从复制类似,但是多个节点可以同时作为主节点进行写操作。通过双向复制,确保数据的一致性和高可用性。当一个主节点故障时,可以切换到另一个主节点上继续提供服务。 3. 数据库分片(Database Sharding):通过将数据分散存储在多个数据库节点上,实现数据的水平分割和负载均衡。每个分片只负责部分数据,提高了数据库的容量和性能。在某个分片故障时,其他分片可以继续提供服务。 4. 心跳检测和自动故障切换:通过定期的心跳检测来监控数据库节点的健康状态,当发现节点故障时,自动进行故障切换,将服务迁移到其他可用节点上。 5. 负载均衡(Load Balancing):通过在前端设置负载均衡器,将请求均匀地分发给多个数据库节点,避免单点故障和提高系统的可用性和性能。 6. 数据备份和恢复:定期对数据库进行备份,并确保备份数据的完整性和可靠性。在发生数据丢失或故障时,可以通过备份数据进行快速恢复。 以上是MySQL高可用架构的一些常见组件和策略,根据具体的应用场景和需求,可以选择适合的组合方式来实现高可用性和可靠性。
### 回答1: 为了实现 Nginx、Django、MySQL 和 Redis 的高可用架构,您可以使用以下步骤: 1. Nginx 集群:通过使用 Nginx 的负载均衡功能,您可以将多台服务器组合在一起,从而实现高可用性。 2. Django 集群:通过在多台服务器上运行 Django 应用程序,并使用 Nginx 对请求进行负载均衡,您可以实现 Django 的高可用性。 3. MySQL 集群:通过使用 MySQL 的主从复制功能,您可以将多个数据库服务器组合在一起,从而实现数据的高可用性。 4. Redis 集群:通过使用 Redis 的分布式存储功能,您可以将数据存储在多台服务器上,从而实现高可用性。 通过实施这些技术,您可以实现 Nginx、Django、MySQL 和 Redis 的高可用架构。 ### 回答2: 要实现nginx, django, mysql, redis的高可用架构,可以按照以下步骤进行设计与配置。 第一步,搭建负载均衡 使用nginx来实现负载均衡,可以配置多个nginx服务器组成一个集群,采用轮询或者IP hash等负载均衡算法,将流量均匀分配给后端的django服务器。 第二步,配置django高可用 可以通过使用uwsgi或者gunicorn等工具将django应用部署为多个实例,并将它们放在不同的服务器上。通过配置nginx反向代理,将请求通过负载均衡方式分发给这些实例。当有实例出现故障时,负载均衡将请求自动切换到健康的实例上。 第三步,设置mysql高可用 数据库是应用的核心组件,可以通过使用主从复制来实现mysql的高可用性。将一台mysql服务器配置为主服务器,多台配置为从服务器,主服务器负责写操作,从服务器进行读操作。当主服务器发生故障时,可以通过自动切换将从服务器提升为主服务器,确保数据库的可用性。 第四步,配置redis高可用 可以使用redis的主从复制或者redis集群来实现高可用性。主从复制中,将一台redis服务器配置为主服务器,多台配置为从服务器。主服务器负责写操作,从服务器进行读操作。在主服务器发生故障时,可以将从服务器提升为主服务器。在redis集群中,将多个redis节点组成一个集群,每个节点保存部分数据,通过使用一致性哈希算法将数据均匀分布在不同的节点上,当有节点出现故障时,集群会自动进行恢复。 通过以上步骤的配置与设计,可以实现nginx, django, mysql, redis的高可用架构,确保系统能够在单个组件出现故障时继续提供服务。 ### 回答3: 要实现nginx django mysql redis高可用架构,可以采用以下步骤: 1. 配置负载均衡:使用nginx作为反向代理服务器,通过配置upstream来实现负载均衡。将多个django应用部署在不同的服务器上,且这些服务器的IP都添加到upstream中。这样,nginx将根据负载均衡算法将请求分发到不同的django应用服务器中。 2. 数据库高可用:使用MySQL的主从复制或者主从集群来实现数据库的高可用。在主从复制中,将一个MySQL服务器配置为主服务器,其他服务器配置为从服务器。主服务器负责写操作,从服务器负责读操作。在主从集群中,使用多个MySQL实例进行复制,并通过主服务器自动选举机制来保证高可用性。这样,当其中一个数据库服务器出现故障时,其他服务器仍然可以提供服务。 3. 缓存层高可用:使用redis的主从复制或者redis集群来实现缓存层的高可用。在主从复制中,将一个redis服务器配置为主服务器,其他服务器配置为从服务器。主服务器负责写操作,从服务器负责读操作。在redis集群中,使用多个redis节点进行数据分片,同时实现数据复制和故障转移。这样,当其中一个redis节点出现故障时,其他节点仍然可以提供服务。 4. 监控和故障转移:使用监控系统对nginx、django、mysql和redis进行监控,及时发现并处理故障。使用自动化工具来实现故障转移,当一个节点或服务器故障时,自动将请求切换到其他正常的节点或服务器上。 通过以上的架构设计,可以实现nginx django mysql redis的高可用性,提高系统的可靠性和稳定性。

最新推荐

高可用MYSQL,主从复制,集群和负载平衡

详细介绍Mysql、MariaDB主从复制、多主多从架构、负载平衡和集群的设置。读写分离和数据库垂直、水平切分建议使用Sharding JDBC

mysql负载均衡完美解决方案

2. 架构图 web1 web2 web3 | | | —————————- | haproxy(lb db write/read) | ———————————- | | mdb1 mdb2 | | ————– —————- | | | | sdb1 sdb2 sdb3 sdb4 说明: 1)mdb1...

高层商住楼电气设计.dwg

高层商住楼电气设计.dwg

lrs_v3.7.0_develop_encrypted_updated_1.apk

lrs_v3.7.0_develop_encrypted_updated_1.apk

代码随想录最新第三版-最强八股文

这份PDF就是最强⼋股⽂! 1. C++ C++基础、C++ STL、C++泛型编程、C++11新特性、《Effective STL》 2. Java Java基础、Java内存模型、Java面向对象、Java集合体系、接口、Lambda表达式、类加载机制、内部类、代理类、Java并发、JVM、Java后端编译、Spring 3. Go defer底层原理、goroutine、select实现机制 4. 算法学习 数组、链表、回溯算法、贪心算法、动态规划、二叉树、排序算法、数据结构 5. 计算机基础 操作系统、数据库、计算机网络、设计模式、Linux、计算机系统 6. 前端学习 浏览器、JavaScript、CSS、HTML、React、VUE 7. 面经分享 字节、美团Java面、百度、京东、暑期实习...... 8. 编程常识 9. 问答精华 10.总结与经验分享 ......

低秩谱网络对齐的研究

6190低秩谱网络对齐0HudaNassar计算机科学系,普渡大学,印第安纳州西拉法叶,美国hnassar@purdue.edu0NateVeldt数学系,普渡大学,印第安纳州西拉法叶,美国lveldt@purdue.edu0Shahin Mohammadi CSAILMIT & BroadInstitute,马萨诸塞州剑桥市,美国mohammadi@broadinstitute.org0AnanthGrama计算机科学系,普渡大学,印第安纳州西拉法叶,美国ayg@cs.purdue.edu0David F.Gleich计算机科学系,普渡大学,印第安纳州西拉法叶,美国dgleich@purdue.edu0摘要0网络对齐或图匹配是在网络去匿名化和生物信息学中应用的经典问题,存在着各种各样的算法,但对于所有算法来说,一个具有挑战性的情况是在没有任何关于哪些节点可能匹配良好的信息的情况下对齐两个网络。在这种情况下,绝大多数有原则的算法在图的大小上要求二次内存。我们展示了一种方法——最近提出的并且在理论上有基础的EigenAlig

怎么查看测试集和训练集标签是否一致

### 回答1: 要检查测试集和训练集的标签是否一致,可以按照以下步骤进行操作: 1. 首先,加载训练集和测试集的数据。 2. 然后,查看训练集和测试集的标签分布情况,可以使用可视化工具,例如matplotlib或seaborn。 3. 比较训练集和测试集的标签分布,确保它们的比例是相似的。如果训练集和测试集的标签比例差异很大,那么模型在测试集上的表现可能会很差。 4. 如果发现训练集和测试集的标签分布不一致,可以考虑重新划分数据集,或者使用一些数据增强或样本平衡技术来使它们更加均衡。 ### 回答2: 要查看测试集和训练集标签是否一致,可以通过以下方法进行比较和验证。 首先,

数据结构1800试题.pdf

你还在苦苦寻找数据结构的题目吗?这里刚刚上传了一份数据结构共1800道试题,轻松解决期末挂科的难题。不信?你下载看看,这里是纯题目,你下载了再来私信我答案。按数据结构教材分章节,每一章节都有选择题、或有判断题、填空题、算法设计题及应用题,题型丰富多样,共五种类型题目。本学期已过去一半,相信你数据结构叶已经学得差不多了,是时候拿题来练练手了,如果你考研,更需要这份1800道题来巩固自己的基础及攻克重点难点。现在下载,不早不晚,越往后拖,越到后面,你身边的人就越卷,甚至卷得达到你无法想象的程度。我也是曾经遇到过这样的人,学习,练题,就要趁现在,不然到时你都不知道要刷数据结构题好还是高数、工数、大英,或是算法题?学完理论要及时巩固知识内容才是王道!记住!!!下载了来要答案(v:zywcv1220)。

PixieDust:静态依赖跟踪实现的增量用户界面渲染

7210PixieDust:通过静态依赖跟踪进行声明性增量用户界面渲染0Nick tenVeen荷兰代尔夫特理工大学,代尔夫特,荷兰n.tenveen@student.tudelft.nl0Daco C.Harkes荷兰代尔夫特理工大学,代尔夫特,荷兰d.c.harkes@tudelft.nl0EelcoVisser荷兰代尔夫特理工大学,代尔夫特,荷兰e.visser@tudelft.nl0摘要0现代Web应用程序是交互式的。反应式编程语言和库是声明性指定这些交互式应用程序的最先进方法。然而,使用这些方法编写的程序由于效率原因包含容易出错的样板代码。在本文中,我们介绍了PixieDust,一种用于基于浏览器的应用程序的声明性用户界面语言。PixieDust使用静态依赖分析在运行时增量更新浏览器DOM,无需样板代码。我们证明PixieDust中的应用程序包含的样板代码比最先进的方法少,同时实现了相当的性能。0ACM参考格式:Nick ten Veen,Daco C. Harkes和EelcoVisser。2018。通过�

pyqt5 QCalendarWidget的事件

### 回答1: PyQt5中的QCalendarWidget控件支持以下事件: 1. selectionChanged:当用户选择日期时触发该事件。 2. activated:当用户双击日期或按Enter键时触发该事件。 3. clicked:当用户单击日期时触发该事件。 4. currentPageChanged:当用户导航到日历的不同页面时触发该事件。 5. customContextMenuRequested:当用户右键单击日历时触发该事件。 您可以使用QCalendarWidget的connect方法将这些事件与自定义槽函数连接起来。例如,以下代码演示了如何将selectionC