当前位置: 首页 > article >正文

SQL server 2017镜像库主从同步架构部署

SQL server 2017镜像库主从同步架构部署目录1.主库配置2.镜像库配置3.检查状态4.手工故障转移测试-主备切换5.添加见证服务器实现自动主备切换6.自动故障切换测试-主备切换角色 IP 状态 主机名主库 192.168.56.120 可读写 sqldb2镜像库从库 192.168.56.119 不可读 sqldb1仲裁服务器 无 winers说明1.由于无配置仲裁服务器所以不能自动故障转移只能手工主从切换。2.配置仲裁服务器的情况下可以实现故障自动转移3.如果主库宕机强制切换镜像库为主库的情况主从同步需要重新部署4.主从库需要关闭防火墙5.主从库配置共享文件夹D:\ShareFolders1.主库配置说明1.第一步到第八步主库和镜像库同步执行--第一步主备库执行创建数据库主密钥 USE master GO CREATE MASTER KEY ENCRYPTION BY PASSWORD Pa$$w0rd; /* --删除主密钥 USE master; DROP MASTER KEY */ --第二步创建证书并用主密钥加密 创建证书时默认在创建日期开始一年后过期所以针对证书的创建要注意其过期时间。下面是在“主体服务器”上创建HOST_A_cert证书的创建 USE master GO CREATE CERTIFICATE Host_sqldb2_Cert WITH Subject Host_sqldb2 Certificate, Expiry_Date 2215-01-01; --过期日期 /* --删除证书 USE master; DROP CERTIFICATE Host_sqldb2_Cert */ --第三步创建端点 可以使用下面的代码在主体服务器中创建端点并且指定使用5022,端口端口在镜像配置过程中不强制使用特定端口被占用或者特定端口如1433除外。 --使用 Host_sqldb2_Cert 证书创建端点 IF NOT EXISTS ( SELECT 1 FROM sys.database_mirroring_endpoints ) BEGIN CREATE ENDPOINT [DatabaseMirroring] STATE STARTED AS TCP ( LISTENER_PORT 5022, --修改端点名称可保持不变 LISTENER_IP ALL ) FOR DATABASE_MIRRORING ( AUTHENTICATION CERTIFICATE Host_sqldb2_Cert, ENCRYPTION REQUIRED Algorithm AES, ROLE --修改证书名称 ALL ); END --第四步备份证书 备份证书的目的是发送到别的服务器并导入证书以便别的服务器能通过证书访问这台服务器主体服务器。 BACKUP CERTIFICATE Host_sqldb2_Cert TO FILE D:\ShareFolders\Host_sqldb2_Cert.cer; --第五步创建登录账号 针对每个服务器单独创建一个服务器登录账号这里只需要创建一个登录给镜像服务器即可 CREATE LOGIN Host_sqldb1_Login WITH PASSWORD Pa$$w0rd; --给副本镜像库创建的登陆 /* drop login Host_sqldb2_Login */ --第六步创建用户并映射到Step 5中创建的登录账号中 CREATE USER Host_sqldb1_User For Login Host_sqldb1_Login; --第七步使用证书授权用户 创建一个新的证书并使用从伙伴服务器中复制过来的证书导入然后映射step 6中的账号到这个新证书上。 CREATE CERTIFICATE Host_sqldb1_Cert --修改证书名称 副本 AUTHORIZATION Host_sqldb1_User --修改用户名 副本 FROM FILE D:\ShareFolders\Host_sqldb1_Cert.cer; --修改路径 --第八步把Step 5中的登录账号授权访问端口 GRANT CONNECT ON ENDPOINT::[DatabaseMirroring] TO [Host_sqldb1_Login]; --修改登录名–到此为止配置镜像的步骤已经完毕后续会给出尽可能自动化的配置脚本。2.镜像库配置--第一步主备库执行创建数据库主密钥 USE master GO CREATE MASTER KEY ENCRYPTION BY PASSWORD Pa$$w0rd; /* --删除主密钥 USE master; DROP MASTER KEY */ --第二步创建证书并用主密钥加密 创建证书时默认在创建日期开始一年后过期所以针对证书的创建要注意其过期时间。下面是在“副体服务器”上创建HOST_A_cert证书的创建 USE master GO CREATE CERTIFICATE Host_sqldb1_Cert WITH Subject Host_sqldb1 Certificate, Expiry_Date 2215-01-01; --过期日期 /* --删除证书 USE master; DROP CERTIFICATE Host_sqldb1_Cert */ --第三步创建端点 可以使用下面的代码在副体服务器中创建端点并且指定使用5022,端口端口在镜像配置过程中不强制使用特定端口被占用或者特定端口如1433除外。 --使用 Host_sqldb1_Cert 证书创建端点 IF NOT EXISTS ( SELECT 1 FROM sys.database_mirroring_endpoints ) BEGIN CREATE ENDPOINT [DatabaseMirroring] STATE STARTED AS TCP ( LISTENER_PORT 5022, --修改端点名称可保持不变 LISTENER_IP ALL ) FOR DATABASE_MIRRORING ( AUTHENTICATION CERTIFICATE Host_sqldb1_Cert, ENCRYPTION REQUIRED Algorithm AES, ROLE --修改证书名称 ALL ); END --第四步备份证书 备份证书的目的是发送到别的服务器并导入证书以便别的服务器能通过证书访问这台服务器副体服务器。 BACKUP CERTIFICATE Host_sqldb1_Cert TO FILE D:\ShareFolders\Host_sqldb1_Cert.cer; --第五步创建登录账号 针对每个服务器单独创建一个服务器登录账号这里只需要创建一个登录给镜像服务器即可 CREATE LOGIN Host_sqldb2_Login WITH PASSWORD Pa$$w0rd; --给副本镜像库创建的登陆 /* drop login Host_sqldb1_Login */ --第六步创建用户并映射到Step 5中创建的登录账号中 CREATE USER Host_sqldb2_User For Login Host_sqldb2_Login; --第七步使用证书授权用户 创建一个新的证书并使用从伙伴服务器中复制过来的证书导入然后映射step 6中的账号到这个新证书上。 CREATE CERTIFICATE Host_sqldb2_Cert --修改证书名称 副本 AUTHORIZATION Host_sqldb2_User --修改用户名 副本 FROM FILE D:\ShareFolders\Host_sqldb2_Cert.cer; --修改路径 --第八步把Step 5中的登录账号授权访问端口 GRANT CONNECT ON ENDPOINT::[DatabaseMirroring] TO [Host_sqldb2_Login]; --修改登录名 /* USE [master] GO DROP ENDPOINT [DatabaseMirroring] GO */ --到此为止配置镜像的步骤已经完毕后续会给出尽可能自动化的配置脚本。–备份还原数据库/* 这一步把主体服务器上的演示数据库备份并还原到上进行初始化操作 1.完整备份的数据库到共享文件夹 D:\ShareFolders 2.复制备份文件到镜像服务器如果权限足够直接使用共享路径来还原即可 3.以Nonrecovery选项还原数据库到镜像服务器sqldb1 4.日志备份数据库并同样方式还原到 sqldb1 */BACKUP DATABASE mirrordb TO DISK ND:\ShareFolders\mirrordb20260515.bak --修改备份文件名 WITH NOFORMAT, NOINIT, SKIP, NOREWIND, NOUNLOAD, COMPRESSION, STATS 10; GO BACKUP DATABASE Demodbmirr TO DISK ND:\ShareFolders\Demodbmirr20260515.bak --修改备份文件名 WITH NOFORMAT, NOINIT, SKIP, NOREWIND, NOUNLOAD, COMPRESSION, STATS 10; GO --把备份文件拷贝到镜像库在镜像服务器上还原数据库并使用Nonrecovery方式–备份及还原日志BACKUP LOG mirrordb --修改库名 TO DISK D:\ShareFolders\mirrordb_log20260515.bak --修改文件名 WITH NOFORMAT, NOINIT, SKIP, NOREWIND, NOUNLOAD, STATS 10; BACKUP LOG Demodbmirr --修改库名 TO DISK D:\ShareFolders\Demodbmirr_log20260515.bak --修改文件名 WITH NOFORMAT, NOINIT, SKIP, NOREWIND, NOUNLOAD, STATS 10; --把备份文件拷贝到镜像库在镜像服务器上还原数据库并使用Nonrecovery方式–镜像库还原数据库RESTORE DATABASE mirrordb --修改库名 FROM DISK D:\ShareFolders\mirrordb20260515.bak WITH NORECOVERY; -- 还原完整备份但不完成还原过程 RESTORE DATABASE Demodbmirr --修改库名 FROM DISK D:\ShareFolders\Demodbmirr20260515.bak WITH NORECOVERY; -- 还原完整备份但不完成还原过程–还原日志文件RESTORE DATABASE mirrordb FROM DISK ND:\ShareFolders\mirrordb_log20260515.bak WITH STATS 10, NORECOVERY RESTORE DATABASE Demodbmirr FROM DISK ND:\ShareFolders\Demodbmirr_log20260515.bak WITH STATS 10, NORECOVERY至此事务日志恢复完成。–还原完成后 启动镜像Step 1右键主体服务器的主体数据库选择【镜像】Step 2选择【配置镜像】这一步我们主要是获取主体服务器的网络地址看下图的红框部分Step 3在镜像服务器上执行下面脚本注意顺序先要在镜像库从库上执行 也就是镜像库先执行转镜像库配置–启用镜像库Step 4在主体服务器执行下面脚本把镜像库添加成主体的伙伴ALTER DATABASE mirrordb SET PARTNER TCP://sqldb1:5022; GO ALTER DATABASE Demodbmirr SET PARTNER TCP://sqldb1:5022; GO–执行后刷新数据库状可以看到RepA上的镜像配置–主库显示主体已同步–镜像库显示镜像已同步正在还原转 3.检查状态–启用镜像库ALTER DATABASE mirrordb SET PARTNER TCP://sqldb2:5022; GO ALTER DATABASE Demodbmirr SET PARTNER TCP://sqldb2:5022; GO3.检查状态主库状态从库状态查看证书USE master;SELECT * FROM sys.certificates;查看镜像端点状态SELECT name, role_desc, state_desc, connection_auth_desc, encryption_algorithm_descFROM sys.database_mirroring_endpoints;查看所有端点信息select * from sys.endpoints查看镜像同步状态SELECTDB_NAME(database_id) AS DatabaseName,dm.mirroring_role AS MirroringRole,(CASE dm.mirroring_roleWHEN 1 THEN ‘主体’WHEN 2 THEN ‘镜像’END) AS MirroringRoleDesc,dm.mirroring_partner_name AS MirroringPartnerName,(CASE WHEN dm.mirroring_witness_name IS NULLTHEN ‘–’ELSE dm.mirroring_witness_nameEND)AS MirroringWitnessName,dm.mirroring_state AS MirroringState,(CASE dm.mirroring_stateWHEN 0 THEN ‘已挂起’WHEN 1 THEN ‘与其他伙伴断开’WHEN 2 THEN ‘正在同步’WHEN 3 THEN ‘挂起故障转移’WHEN 4 THEN ‘已同步’WHEN 5 THEN ‘伙伴未同步’WHEN 6 THEN ‘伙伴已同步’WHEN NULL THEN ‘无镜像’END) AS MirroringStateDesc,dm.mirroring_safety_level AS MirroringSafetyLevel,(CASE dm.mirroring_safety_levelWHEN 0 THEN ‘未知’WHEN 1 THEN ‘异步’WHEN 2 THEN ‘同步’WHEN NULL THEN ‘无镜像’END) AS MirroringSafetyLevelDesc,dm.mirroring_witness_state AS MirroringWitnessState,(CASE dm.mirroring_witness_stateWHEN 0 THEN ‘见证未知’WHEN 1 THEN ‘见证连接’WHEN 2 THEN ‘见证断开’WHEN NULL THEN ‘无见证’END) AS MirroringWitnessStateDescFROM sys.database_mirroring dmWHERE dm.mirroring_guid IS NOT NULL注册服务器组分别把sqldb1,sqldb2使用sa账号注册select * from sys.database_mirroringwhere database_idDB_ID(‘mirrordb’);4.手工故障转移测试-主备切换切换前sqldb1是主库sqldb2是备库手工切换主从先切换mirrordb数据库,Demodbmirr数据库按照同样的步骤操作即可。刷新数据库状态sqldb1转为从库sqldb2转为主库5.添加见证服务器实现自动主备切换安装数据库忽略。--创建主密钥 USE master; CREATE MASTER KEY ENCRYPTION BY PASSWORD Pa$$w0rd; --演示所需否则不要设置这么简单的密码 GO /* --删除主密钥 USE master; DROP MASTER KEY */ --创建证书 USE master; CREATE CERTIFICATE HOST_witness_cert --修该证书名字 WITH SUBJECT HOST_witness certificate--在Winess实例上创建证书命名为 HOST_witness_cert这个选项是描述证书 ,EXPIRY_DATE 2215-01-01 ;--证书过期时间可以适当设置长一点具体按实际需要设置 GO /* --删除证书 USE master; DROP CERTIFICATE HOST_witness_cert */ --创建端点 CREATE ENDPOINT Endpoint_Mirroring STATE STARTED AS TCP ( LISTENER_PORT5022 --使用5022端口这个端口可以改成未被使用的端口但是镜像过程中的所有合作者都应该使用相同的端口 , LISTENER_IP ALL ) FOR DATABASE_MIRRORING ( AUTHENTICATION CERTIFICATE HOST_witness_cert --使用证书来授权端点 , ENCRYPTION REQUIRED ALGORITHM AES , ROLE ALL --表示这个端点可以作为任何角色包括主服务器、镜像服务器、见证服务器。具体可看联机丛书。 ); GO /* --删除镜像端点 IF EXISTS (SELECT * FROM sys.endpoints e WHERE e.name NEndpoint_Mirroring) DROP ENDPOINT [Endpoint_Mirroring] GO */ BACKUP CERTIFICATE HOST_witness_cert TO FILE D:\ShareFolders\HOST_witness_cert.cer; GO --在见证服务器上为主体、镜像服务器创建以证书为验证的账号、用户名及端点。 --在Witness实例上创建一个登录名给Principal实例 USE master; CREATE LOGIN HOST_sqldb1_login WITH PASSWORD Pa$$w0rd; GO --创建一个用于给这个登录名 CREATE USER HOST_sqldb1_user FOR LOGIN HOST_sqldb1_login; GO --让该帐号使用证书授权 CREATE CERTIFICATE HOST_sqldb1_cert AUTHORIZATION HOST_sqldb1_user FROM FILE D:\ShareFolders\HOST_sqldb1_cert.cer GO --授予这个新账号连接端点的权限 GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO HOST_sqldb1_login; GO /* --删除账号 DROP LOGIN HOST_A_user */ --在Witness实例上创建一个登录名给Mirror实例 USE master; CREATE LOGIN HOST_sqldb2_login WITH PASSWORD Pa$$w0rd; GO --创建一个用于给这个登录名 CREATE USER HOST_sqldb2_user FOR LOGIN HOST_sqldb2_login; GO --让该帐号使用证书授权 CREATE CERTIFICATE HOST_sqldb2_cert AUTHORIZATION HOST_sqldb2_user FROM FILE D:\ShareFolders\HOST_sqldb2_cert.cer GO --授予这个新账号连接端点的权限 GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO HOST_sqldb2_login; GO /* --删除账号 DROP LOGIN HOST_B_user */ --分别在sqldb1和sqldb2中执行下面语句为见证服务器创建连接端点的权限 USE master; CREATE LOGIN HOST_witness_login WITH PASSWORD Pa$$w0rd; GO --创建一个用于给这个登录名 CREATE USER HOST_witness_user FOR LOGIN HOST_witness_login; GO --让该帐号使用证书授权 CREATE CERTIFICATE HOST_witness_cert AUTHORIZATION HOST_witness_user FROM FILE D:\ShareFolders\HOST_witness_cert.cer GO --授予这个新账号连接端点的权限 GRANT CONNECT ON ENDPOINT::DatabaseMirroring TO HOST_witness_login; GO --然后在主体服务器上执行下面语句加入见证服务器 ALTER DATABASE mirrordb SET WITNESS TCP://witness:5022 ALTER DATABASE Demodbmirr SET WITNESS TCP://witness:5022 --分别在sqldb1和sqldb2中执行下面语句为见证服务器创建连接端点的权限 USE master; CREATE LOGIN HOST_witness_login WITH PASSWORD Pa$$w0rd; GO --创建一个用于给这个登录名 CREATE USER HOST_witness_user FOR LOGIN HOST_witness_login; GO --让该帐号使用证书授权 CREATE CERTIFICATE HOST_witness_cert AUTHORIZATION HOST_witness_user FROM FILE D:\ShareFolders\HOST_witness_cert.cer GO --授予这个新账号连接端点的权限 GRANT CONNECT ON ENDPOINT::DatabaseMirroring TO HOST_witness_login; GO至此配置完成。查看镜像库状态可以看到见证服务器已经配置连接模式是带自动故障转移的高安全模式。6.自动故障切换测试-主备切换切换前sqldb1,sqldb2的状态停止sqldb1的服务再次查看sqldb2的状态已经自动切换为主体但是由于sqldb1服务是关闭的所以显示断开连接。启动sqldb1的服务并刷新sqldb1,sqldb2的状态。Sqldb1已经自动转为从库。Sqldb2已经连接。主从同步恢复正常。

相关文章:

SQL server 2017镜像库主从同步架构部署

SQL server 2017镜像库主从同步架构部署 目录: 1.主库配置 2.镜像库配置 3.检查状态 4.手工故障转移测试-主备切换 5.添加见证服务器实现自动主备切换 6.自动故障切换测试-主备切换角色 IP 状态 主机名 主库 192.168.56.120 可读写 sqldb2 镜像库(从库&a…...

RELION 5.0完整指南:从零开始掌握冷冻电镜数据处理利器

RELION 5.0完整指南:从零开始掌握冷冻电镜数据处理利器 【免费下载链接】relion Image-processing software for cryo-electron microscopy 项目地址: https://gitcode.com/gh_mirrors/re/relion RELION 5.0(REgularised LIkelihood OptimisatioN…...

嵌入式工程师高薪进阶指南:从软硬兼通到系统思维的跨越

1. 嵌入式行业的现状与人才困境最近几年,和不少同行、猎头以及企业招聘负责人聊下来,一个共识越来越清晰:嵌入式这个行当,正在经历一场深刻的“冰火两重天”。一方面,得益于树莓派、Arduino这类高度集成、生态友好的开…...

【码上爬】 题十一:wasm小试牛刀 wasm文件处理,堆栈分析

暗号:aHR0cHM6Ly9tYXNoYW5ncGEuY29tL3Byb2JsZW0tZGV0YWlsLzExLw题目:先分析数据接口,可以看到m和ts是加密的,但是这里的ts的值应该是一个时间戳,所以主要要逆向的值是m:然后在发起程序的最上面的堆栈下一个…...

别再手动调了!用MATLAB的Text对象属性批量设置图表字体,效率提升90%

MATLAB科研绘图效率革命:Text对象属性批量操控指南 科研工作者常面临一个看似简单却极其耗时的任务——图表字体格式调整。当论文需要提交到不同期刊,每个期刊对图表字体、字号、颜色都有特定要求时,手动逐个修改轴标签、标题和图例的字体属性…...

如何在Windows 11上轻松安装Android应用?APK安装器完整教程

如何在Windows 11上轻松安装Android应用?APK安装器完整教程 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 想在Windows电脑上运行Android应用却不想安装笨…...

手把手改造libmad:将一次性加载改为流式解码,拯救你的内存不足嵌入式系统

嵌入式音频革命:libmad流式解码改造实战指南 在资源受限的嵌入式环境中处理MP3音频,就像试图用吸管喝光整个游泳池的水——传统的一次性加载方式会让你的系统瞬间窒息。当树莓派Pico这类微控制器只有264KB的RAM时,一个5MB的MP3文件就能让内存…...

洞悉.NET 11:Blazor 与 Microsoft.Extensions.AI 的融合创新实践

洞悉.NET 11:Blazor 与 Microsoft.Extensions.AI 的融合创新实践 前言 在现代 Web 应用开发领域,提升用户体验和智能化交互至关重要。Blazor 凭借其在构建交互式 Web 界面的优势,与专注于 AI 集成的 Microsoft.Extensions.AI 相结合&#xff…...

论文查重会查表格么?

会,但不是所有表格都按同一种方式查。先说结论:论文里的表格,学校查重一般是会处理的。只是“查到什么程度”,看系统。分几种情况说。1. Word里的可编辑表格:会查如果你的表格是这种:Word 直接插入的表格单…...

租房避坑|在成都,我从“凑合住”到“安心住”经历了什么

姐妹们,千万别被“凤凰大街包租”几个字骗了!我的真实租房血泪史是不是最近总刷到那种“凤凰大街包租”“拎包入住”的宣传?说实话,刚来成都那会儿,我也被这些词儿晃花了眼。想着省心省力,结果踩的坑一个接…...

【源码篇】地牢里的钟摆,解析引擎与运算核心的 C++ 映射

概要:光有律令是不够的,我们需要看到法则在地牢里真正流动的样子。响应大家的呼声,本篇将正式公开我为这台 4-bit 处理器设计的运算核心(ALU)与指令解析引擎(Decoder)的部分源码。看 C11 如何精…...

谷歌报告:AI 加速云攻击,企业需自动化防御应对第三方漏洞与身份入侵

AI 加速攻击,云端企业成重灾区 2026 年 3 月,谷歌安全调查人员和工程师团队发布《云威胁展望报告》,基于 2025 年下半年的观察得出结论:AI 正助力攻击者以前所未有的速度利用漏洞,如今大多数云攻击目标是薄弱的第三方软…...

如何用开源工具LibreDWG解决CAD文件格式兼容性问题?

如何用开源工具LibreDWG解决CAD文件格式兼容性问题? 【免费下载链接】libredwg Official mirror of libredwg. With CI hooks and nightly releases. PRs ok 项目地址: https://gitcode.com/gh_mirrors/li/libredwg 你是否曾遇到过不同CAD软件之间无法互相打…...

在Blender中创建逼真流体模拟:FLIP Fluids插件完全指南

在Blender中创建逼真流体模拟:FLIP Fluids插件完全指南 【免费下载链接】Blender-FLIP-Fluids The FLIP Fluids addon is a tool that helps you set up, run, and render high quality liquid fluid effects all within Blender, the free and open source 3D crea…...

FPGA与Jetson异构计算:破解机器视觉高带宽实时处理难题

1. 项目概述:当FPGA遇上Jetson,一台为视觉而生的“小钢炮”在机器视觉和工业检测这个行当里干了十几年,我经手过不少号称“高性能”的嵌入式系统。它们要么是体积硕大、功耗惊人的工控机,要么是接口单一、扩展性堪忧的嵌入式板卡。…...

搭建企业AI知识库:6步从0到1,避免百万投入打水漂!揭秘大模型落地成败关键!

企业AI Agent的成功关键在于高质量的私有知识库。文章强调了知识库需满足真实权威、时效动态、可控安全、语义完整、持续进化五点。搭建过程分为爬虫采集、数据清洗、文档切分、Embedding生成、向量存储和RAG检索优化六个阶段,其中前两阶段尤为重要。文章还详细阐述…...

从芯片到模块:拆解乐鑫、安信可、正点原子在ESP8266/ESP32生态链中的角色与产品

从芯片到模块:拆解乐鑫、安信可、正点原子在ESP8266/ESP32生态链中的角色与产品 在物联网硬件开发领域,ESP8266和ESP32系列产品已经成为开发者手中的"瑞士军刀"。但很少有人真正理解这些模块背后的产业链分工与技术附加值。本文将带您深入芯片…...

APK Installer:Windows平台上无缝安装Android应用的技术实现与实战指南

APK Installer:Windows平台上无缝安装Android应用的技术实现与实战指南 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 你是否曾在Windows电脑上想要运行某…...

FreeRTOS-Plus-TCP vs LwIP:在GD32F450上如何选择?附LAN8720A驱动避坑指南

FreeRTOS-Plus-TCP与LwIP在GD32F450上的深度对比与实战选型指南 当工程师在资源受限的GD32F450平台上构建网络功能时,FreeRTOS-Plus-TCP和LwIP这两个轻量级TCP/IP协议栈往往成为主要候选。本文将基于实际项目经验,从内存占用、性能表现、开发效率等维度进…...

告别Mac NTFS读写限制:免费开源的终极解决方案

告别Mac NTFS读写限制:免费开源的终极解决方案 【免费下载链接】Free-NTFS-for-Mac Nigate: An open-source NTFS utility for Mac. It supports all Mac models (Intel and Apple Silicon), providing full read-write access, mounting, and management for NTFS …...

哔咔漫画下载器:如何轻松构建个人离线漫画图书馆?

哔咔漫画下载器:如何轻松构建个人离线漫画图书馆? 【免费下载链接】picacomic-downloader 哔咔漫画 picacomic pica漫画 bika漫画 PicACG 多线程下载器,带图形界面 带收藏夹,已打包exe 下载速度飞快 项目地址: https://gitcode.…...

突破性开源BIM引擎:如何实现建筑信息模型的智能化处理与转换

突破性开源BIM引擎:如何实现建筑信息模型的智能化处理与转换 【免费下载链接】IfcOpenShell Open source IFC library and geometry engine 项目地址: https://gitcode.com/gh_mirrors/if/IfcOpenShell 在建筑信息模型(BIM)技术日益普…...

G-Helper终极指南:3分钟告别Armoury Crate臃肿,释放华硕笔记本真正性能

G-Helper终极指南:3分钟告别Armoury Crate臃肿,释放华硕笔记本真正性能 【免费下载链接】g-helper Lightweight Armoury Crate alternative for Asus laptops with nearly the same functionality. Works with ROG Zephyrus, Flow, TUF, Strix, Scar, Pr…...

RV1126B嵌入式音频开发实战:从ALSA驱动到应用播放全解析

1. 项目概述:从一块核心板到声音的诞生 最近在折腾一块基于瑞芯微RV1126B芯片的EASY EAI Nano开发板,目标是让它“开口说话”——实现稳定的音频输出。这听起来像是一个基础功能,但对于嵌入式开发,尤其是涉及多媒体处理的边缘AI设…...

从零到专业:ComfyUI中文工作流全解析与技术实践

从零到专业:ComfyUI中文工作流全解析与技术实践 【免费下载链接】ComfyUI-Workflows-ZHO 我的 ComfyUI 工作流合集 | My ComfyUI workflows collection 项目地址: https://gitcode.com/GitHub_Trending/co/ComfyUI-Workflows-ZHO 在AI图像生成领域&#xff0…...

如何通过技术优化提升百度网盘macOS版下载体验

如何通过技术优化提升百度网盘macOS版下载体验 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 对于macOS用户来说,百度网盘下载速度限制一直…...

RK3568扩展模块实战:4G/Wi-Fi 6/多串口集成与Linux驱动适配

1. 项目概述:当“小”模块遇上“大”平台最近在折腾一块瑞芯微的RK3568开发板,这板子性能不错,四核A55加上独立的NPU,做边缘计算、多媒体网关或者轻量级服务器都挺合适。但在实际项目落地时,我遇到了一个几乎所有硬件开…...

别再自己写弹窗了!UniApp内置的showLoading、showToast、showModal,5分钟搞定App常用交互

UniApp内置交互API实战:5分钟打造专业级弹窗体验 第一次接触UniApp开发时,我花了整整两天时间调试一个自定义加载动画——结果在iOS上卡顿,在Android上闪退。直到发现showLoading这个内置API,三行代码就解决了所有问题。这段经历让…...

将taotoken作为统一api层整合到企业内部多个ai应用场景中

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 将taotoken作为统一api层整合到企业内部多个ai应用场景中 在企业内部,AI应用正变得无处不在。从智能客服系统自动回复用…...

深入解析Keil MDK编译流程:从C代码到单片机运行的完整过程

1. 项目概述:从源码到芯片运行的旅程作为一名在嵌入式领域摸爬滚打了十多年的老工程师,我经常被问到这样一个问题:“我写的C代码,点一下MDK的‘Build’按钮,怎么就变成能在单片机里跑的程序了?” 这背后&am…...