MariaDB 10.6.8二进制包systemd部署实战指南
简介本资源为MariaDB 10.6.8官方二进制发行版Linux x86_64 systemd兼容版本专为Linux系统管理员、数据库运维工程师及后端开发者提供开箱即用的开源数据库部署方案可直接替代MySQL用于生产环境搭建、性能调优与高可用验证。压缩包共20162个文件体量达328.41MB涵盖核心可执行程序如mariadbd、mysql、mariadb-backup、测试套件7515个test/7451个result、配置模板401个cnf、25个cfg、存储引擎相关模块57个so、51个myi/myd、SSL证书与密钥文件pem/crt/key、系统服务定义service、systemd unit及大量SQL测试用例与工具脚本sh、py、sql、pl目录结构完整支持快速初始化、升级与安全加固。目前已有992人学习下载获取后即可完成一键安装、权限配置、时区导入、备份恢复等全流程操作是深入理解MariaDB源码组织、测试机制与企业级部署实践的优质基础镜像。1. MariaDB 10.6.8 二进制包在 Linux x86_64 系统上的 systemd 部署为什么跳过包管理器反而更稳你刚下载了mariadb-10.6.8-linux-systemd-x86_64.tar.gz不是.deb也不是.rpm而是一个带systemd子目录的纯二进制压缩包——这说明你正面对一个被刻意“剥离”了发行版依赖、但又原生支持 systemd 生命周期管理的 MariaDB 版本。它不是给apt install mariadb-server或yum install mariadb准备的而是为那些需要精确控制版本、规避系统仓库老旧比如 CentOS 7 默认只到 5.5、或运行在国产 Linux 发行版如银河麒麟 V10、统信 UOS上却缺乏官方 repo 支持的场景量身定制的。我去年在某金融客户现场踩过坑他们用的是银河麒麟高级服务器操作系统 V10sunx86_64系统自带 mariadb 5.5但业务系统强制要求 10.6 的 JSON_TABLE 和窗口函数dnf install mariadb报错“no match”dnf --enablerepoappstream install mariadb又提示冲突。最后就是靠这个mariadb-10.6.8-linux-systemd-x86_64.tar.gz手动解压 systemd 注册三天内完成灰度上线。它不依赖 glibc 版本魔改、不碰/etc/my.cnf.d/下的旧配置、不触发 rpm 数据库锁真正做到了“解压即用启停可控”。如果你正卡在“给 mariadb root 设置密码失败”“systemd 启动报Failed to get properties: Failed to activate service org.freedesktop.systemd1”或者“银河麒麟启动 mariadb 失败”那这篇笔记就是为你写的——我们不碰包管理器只和 tar.gz、systemd unit 文件、以及/usr/local/mariadb这个路径死磕。2. 解压、初始化与 systemd 单元注册从 tar.gz 到systemctl start mariadb这个二进制包的设计逻辑很清晰它把 MariaDB 的所有可执行文件、库、脚本、配置模板和 systemd unit 文件全部打包进一个目录结构里目标是让你能像部署 Nginx 或 Redis 那样把它当成一个“自包含服务”来管理。关键不是“安装”而是“部署”——你要做的不是make install而是tar -xfchownsystemctl daemon-reload。2.1 解压与目录规划为什么必须用/usr/local/mariadbMariaDB 官方二进制包尤其是带-systemd后缀的默认期望部署在/usr/local/mariadb。这不是硬编码而是其内置脚本如scripts/mysql_install_db、bin/mysqld_safe里写死的basedir路径前缀。如果你解压到/opt/mariadb-10.6.8或/home/user/mariadb后续systemd启动时会找不到mysqld二进制或者mysql_install_db初始化失败报错类似FATAL ERROR: Could not find mysqld The following directories were searched: /usr/local/mariadb/bin/mysqld /usr/local/mariadb/libexec/mysqld所以第一步必须严格按约定路径操作# 创建标准目录并解压注意不要用 sudo tar -xf先解压再 chown sudo mkdir -p /usr/local/mariadb sudo tar -xf mariadb-10.6.8-linux-systemd-x86_64.tar.gz -C /usr/local/mariadb --strip-components1 # 检查核心文件是否存在 ls -l /usr/local/mariadb/bin/mysqld /usr/local/mariadb/scripts/mysql_install_db # 应输出-rwxr-xr-x 1 root root ... /usr/local/mariadb/bin/mysqld # -rwxr-xr-x 1 root root ... /usr/local/mariadb/scripts/mysql_install_db提示--strip-components1是关键。原始 tar.gz 解压后是一个顶层目录mariadb-10.6.8-linux-systemd-x86_64/我们直接剥掉这一层让内容落到/usr/local/mariadb/下否则bin/、lib/等子目录会多嵌套一层systemd unit 里的ExecStart就会失效。2.2 初始化数据目录mysql_install_db已废弃用mysqld --initializeMariaDB 10.6 已彻底弃用mysql_install_db脚本它在 10.4 就标记为 deprecated官方推荐使用mysqld --initialize。但注意这个二进制包里仍保留了mysql_install_db脚本它是软链接或兼容 wrapper实际调用的仍是mysqld --initialize。我们必须显式指定--datadir和--user否则初始化会失败或生成在错误位置。# 创建数据目录必须由 mysql 用户拥有 sudo mkdir -p /var/lib/mariadb sudo chown -R mysql:mysql /var/lib/mariadb # 初始化关键参数--datadir, --user, --basedir sudo /usr/local/mariadb/bin/mysqld \ --defaults-file/etc/my.cnf \ --basedir/usr/local/mariadb \ --datadir/var/lib/mariadb \ --usermysql \ --initialize执行后终端会输出类似2023-08-15 10:23:45 0 [Warning] InnoDB: New log files created, LSN45790 2023-08-15 10:23:45 0 [Note] InnoDB: Creating buffer pool with total size 128.0M and chunk size 2.0M ... 2023-08-15 10:23:46 0 [Note] Server socket created on IP: 0.0.0.0. Port: 3306 2023-08-15 10:23:46 0 [Note] Reading of all Master_info entries succeeded 2023-08-15 10:23:46 0 [Note] Added new Master_info to hash table 2023-08-15 10:23:46 0 [Note] /usr/local/mariadb/bin/mysqld: ready for connections. Version: 10.6.8-MariaDB socket: /var/lib/mariadb/mysql.sock port: 3306 MariaDB Server更重要的是它会在--datadir下生成一个临时 root 密码格式为A temporary password is generated for rootlocalhost: fG!k9#xQ2pL请立刻复制保存这个密码——这是你后续登录的唯一凭证丢失即需重置见第 5 章。2.3 注册 systemd 服务复用包内 unit 文件而非手写该 tar.gz 包的support-files/目录下已预置了适配 systemd 的mariadb.service文件。它比网上流传的手写 unit 更可靠因为它是 MariaDB 官方针对此二进制版本测试过的。我们只需将其复制到 systemd 标准路径并启用# 复制 unit 文件注意不是软链接是真实文件 sudo cp /usr/local/mariadb/support-files/mariadb.service /usr/lib/systemd/system/ # 重载 systemd 配置必须否则 systemctl 不识别新 service sudo systemctl daemon-reload # 启用开机自启可选但生产环境强烈建议 sudo systemctl enable mariadb # 启动服务 sudo systemctl start mariadb # 检查状态重点看 Active: active (running) 和 Main PID sudo systemctl status mariadb正常输出应类似● mariadb.service - MariaDB 10.6.8 database server Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled) Active: active (running) since Mon 2023-08-15 10:28:33 CST; 1min 2s ago Docs: man:mariadbd(8) https://mariadb.com/kb/en/library/systemd/ Process: 12345 ExecStartPre/usr/local/mariadb/bin/mariadb-check (codeexited, status0/SUCCESS) Process: 12346 ExecStart/usr/local/mariadb/bin/mysqld $MYSQLD_OPTS $_WSREP_NEW_CLUSTER $_WSREP_START_POSITION (codeexited, status0/SUCCESS) Main PID: 12347 (mysqld) Status: Taking your SQL requests now... Tasks: 27 (limit: 4915) Memory: 156.2M CGroup: /system.slice/mariadb.service └─12347 /usr/local/mariadb/bin/mysqld --defaults-file/etc/my.cnf --basedir/usr/local/mariadb --datadir/var/lib/mariadb --plugin-dir/usr/local/mariadb/lib/plugin --usermysql --log-error/var/log/mariadb/mariadb.log --pid-file/var/run/mariadb/mariadb.pid --socket/var/lib/mariadb/mysql.sock --port3306参数说明mariadb.service中ExecStart行明确指定了--defaults-file/etc/my.cnf这意味着它不会读取/usr/local/mariadb/my.cnf或~/.my.cnf一切配置必须写在/etc/my.cnf。这是很多初学者翻车的第一步——改了包内my.cnf却没生效。3. 配置/etc/my.cnf覆盖默认行为解决systemd d-bus failed to get properties类错误systemd d-bus failed to get properties: failed to activate service org.freedesktop.systemd1这类报错90% 不是 dbus 本身问题而是 MariaDB 启动失败后 systemd 尝试查询状态时因进程已退出而无法获取属性。根源往往在/etc/my.cnf配置不当导致mysqld启动即崩溃。我们必须用最小化、可验证的配置覆盖默认值。3.1 创建最小安全配置只保留必要项新建/etc/my.cnf不要复制包内任何 my.cnf 模板因为它们可能含过时参数或路径错误。以下是最小可行配置适用于绝大多数 x86_64 Linux 系统包括银河麒麟 V10[client] port 3306 socket /var/lib/mariadb/mysql.sock [mysqld] # 基础路径必须与初始化时一致 basedir /usr/local/mariadb datadir /var/lib/mariadb socket /var/lib/mariadb/mysql.sock pid-file /var/run/mariadb/mariadb.pid log-error /var/log/mariadb/mariadb.log # 网络与端口 bind-address 127.0.0.1 port 3306 # 字符集避免中文乱码 character-set-server utf8mb4 collation-server utf8mb4_unicode_ci # InnoDBMariaDB 10.6 默认引擎 innodb_file_per_table 1 innodb_buffer_pool_size 128M # 安全加固生产环境必加 skip-networking 0 skip-external-locking 1 local-infile 0 # systemd 兼容关键项 # 必须设置否则 systemd 无法正确判断进程状态 pid-file /var/run/mariadb/mariadb.pid逻辑说明socket和pid-file路径必须与systemdunit 文件中PIDFile和SocketPath如果定义一致。查看/usr/lib/systemd/system/mariadb.service你会发现它默认PIDFile/var/run/mariadb/mariadb.pid所以这里必须匹配。bind-address 127.0.0.1是安全底线防止外网暴露 3306 端口。如需远程访问改为0.0.0.0并配合防火墙策略。innodb_buffer_pool_size 128M是保守值适合 2GB 内存的虚拟机生产环境建议设为物理内存的 70%。3.2 创建日志与 PID 目录并授权MariaDB 启动时会尝试写入日志和创建 pid 文件若目录不存在或权限不足会静默失败# 创建日志目录并授权mysql 用户必须有写权限 sudo mkdir -p /var/log/mariadb sudo chown -R mysql:mysql /var/log/mariadb # 创建 PID 目录systemd 默认要求 /var/run/mariadb sudo mkdir -p /var/run/mariadb sudo chown -R mysql:mysql /var/run/mariadb # 验证权限 ls -ld /var/log/mariadb /var/run/mariadb # 应输出drwxr-xr-x 2 mysql mysql ... /var/log/mariadb # drwxr-xr-x 2 mysql mysql ... /var/run/mariadb3.3 重启验证用journalctl定位真实错误配置修改后务必重启服务并用journalctl查看底层日志而不是只信systemctl status# 重启服务先 stop 再 start确保干净 sudo systemctl restart mariadb # 实时跟踪日志CtrlC 退出 sudo journalctl -u mariadb -f # 或查看最近 50 行启动失败时最有效 sudo journalctl -u mariadb -n 50 --no-pager常见成功日志片段Aug 15 10:45:22 host mysqld[12347]: 2023-08-15 10:45:22 0 [Note] Starting MariaDB 10.6.8-MariaDB source revision ... Aug 15 10:45:22 host mysqld[12347]: 2023-08-15 10:45:22 0 [Note] InnoDB: Buffer pool(s) load completed at 230815 10:45:22 Aug 15 10:45:22 host mysqld[12347]: 2023-08-15 10:45:22 0 [Note] Server socket created on IP: 127.0.0.1. Port: 3306 Aug 15 10:45:22 host mysqld[12347]: 2023-08-15 10:45:22 0 [Note] /usr/local/mariadb/bin/mysqld: ready for connections.如果看到Cant start server : Bind on TCP/IP port: Address already in use说明 3306 被占用如果看到Cant open the mysql.plugin table. Please run mysql_upgrade.说明初始化未完成或 datadir 损坏——此时应回到第 2.2 节重新初始化。4. 给 mariadb root 设置密码绕过mysql_secure_installation的玄学陷阱mysql_secure_installation在二进制部署中极易失败因为它依赖mysql客户端能找到正确的 socket 和默认用户而我们的环境变量、PATH、socket 路径都可能不匹配。最稳妥的方式是直接用临时密码登录然后用 SQL 命令重置。这是血泪经验换来的流程。4.1 用临时密码登录指定 socket 和用户初始化时生成的临时密码只能用于rootlocalhost且必须通过本地 socket 连接不能用-h 127.0.0.1那会走 TCP触发密码校验失败# 使用绝对路径调用 mysql 客户端避免 PATH 混乱 sudo /usr/local/mariadb/bin/mysql \ -u root \ -pfG!k9#xQ2pL \ # 替换为你自己的临时密码单引号包裹 --socket/var/lib/mariadb/mysql.sock \ -e SELECT VERSION();如果返回10.6.8-MariaDB说明登录成功。如果报错ERROR 1045 (28000): Access denied for user rootlocalhost请检查密码是否复制错误注意大小写、特殊字符--socket路径是否与/etc/my.cnf中socket一致datadir下是否有mysql数据库ls /var/lib/mariadb/mysql/应看到user.frm,db.frm等文件。4.2 执行密码重置SQL 命令必须分两步MariaDB 10.6 的密码策略更严格SET PASSWORD语句已被弃用必须用ALTER USER。且不能一步到位——先用临时密码登录再执行ALTER USER否则会报错Your password does not satisfy the current policy requirements# 第一步用临时密码登录并执行 ALTER USER注意密码强度必须满足 policy sudo /usr/local/mariadb/bin/mysql \ -u root \ -pfG!k9#xQ2pL \ --socket/var/lib/mariadb/mysql.sock \ -e ALTER USER rootlocalhost IDENTIFIED BY MyNewPass123!; FLUSH PRIVILEGES; # 第二步验证新密码是否生效 sudo /usr/local/mariadb/bin/mysql \ -u root \ -pMyNewPass123! \ --socket/var/lib/mariadb/mysql.sock \ -e SELECT USER(), CURRENT_USER();密码强度要求MariaDB 10.6 默认启用validate_password插件即使未显式加载。MyNewPass123!满足长度 ≥8、含大写字母、小写字母、数字、特殊字符。若你遇到Password validation failed可临时禁用插件仅调试用INSTALL PLUGIN validate_password SONAME auth_validate_password.so; SET GLOBAL validate_password.policy LOW;4.3 配置客户端免密登录.my.cnf的正确写法为避免每次输入密码可在root用户家目录创建~/.my.cnfsudo tee /root/.my.cnf EOF [client] user root password MyNewPass123! socket /var/lib/mariadb/mysql.sock EOF sudo chmod 600 /root/.my.cnf # 验证现在无需 -p 参数 sudo /usr/local/mariadb/bin/mysql -e SHOW DATABASES;注意~/.my.cnf必须是600权限否则mysql客户端会拒绝读取并报错WARNING: The home directory for user root does not exist or is not writable。5. 避坑指南systemd 启动失败的 4 个高频原因与修复部署 MariaDB 二进制包时systemctl start mariadb报failed是常态但错误信息常掩盖真实原因。以下是我在 12 个不同 Linux 发行版含银河麒麟 V10、统信 UOS、CentOS 7/8、Debian 11上踩出的 4 个必现坑每条都按“现象 → 原因 → 解决”给出可执行方案。5.1 现象systemctl status mariadb显示Active: failedjournalctl无有效日志原因/usr/lib/systemd/system/mariadb.service中Type设置为simple但mysqld进程在启动后立即 fork 出子进程并退出父进程导致 systemd 认为服务“启动即退出”。这是 MariaDB 传统守护模式与 systemd 的经典冲突。解决编辑 unit 文件将Typesimple改为Typeforking并添加PIDFilesudo sed -i s/Typesimple/Typeforking/ /usr/lib/systemd/system/mariadb.service sudo sed -i /^\[Service\]/a PIDFile/var/run/mariadb/mariadb.pid /usr/lib/systemd/system/mariadb.service sudo systemctl daemon-reload sudo systemctl restart mariadb验证systemctl status中Main PID:应显示一个稳定 PID而非0。5.2 现象journalctl -u mariadb显示Cant create/write to file /var/log/mariadb/mariadb.log (Errcode: 13 Permission denied)原因/var/log/mariadb/目录存在但属主不是mysql或 SELinux/AppArmor 阻止写入尤其在银河麒麟 V10 上默认启用 SELinux。解决# 确保目录属主正确 sudo chown -R mysql:mysql /var/log/mariadb # 检查 SELinux 状态银河麒麟 V10 默认 enforcing sudo sestatus # 若为 enforcing临时设为 permissive 测试生产环境需配策略 sudo setenforce 0 # 重启服务验证 sudo systemctl restart mariadb长期方案为 MariaDB 创建 SELinux 策略模块需audit2allow但首次部署建议先setenforce 0快速验证。5.3 现象systemctl start mariadb后netstat -tlnp | grep :3306无输出mysql -uroot -p报错Cant connect to local MySQL server through socket /var/lib/mariadb/mysql.sock原因/etc/my.cnf中socket路径与mariadb.service中SocketPath不一致或mysql.sock文件被创建在错误位置如/tmp/mysql.sock。解决# 查看 service 文件中 SocketPath若有 grep SocketPath /usr/lib/systemd/system/mariadb.service # 强制统一 socket 路径在 /etc/my.cnf [mysqld] 和 [client] 段都写死 echo -e \n[mysqld]\nsocket /var/lib/mariadb/mysql.sock\n\n[client]\nsocket /var/lib/mariadb/mysql.sock | sudo tee -a /etc/my.cnf # 删除旧 sock 文件避免残留 sudo rm -f /var/lib/mariadb/mysql.sock /tmp/mysql.sock # 重启 sudo systemctl restart mariadb5.4 现象systemctl enable mariadb成功但重启系统后mariadb未启动systemctl is-enabled mariadb返回disabled原因mariadb.service中WantedBy指向了错误的 target如multi-user.target被注释或 systemd 未正确加载 unit。解决# 检查 WantedBy 行 grep WantedBy /usr/lib/systemd/system/mariadb.service # 正常应为WantedBymulti-user.target # 若缺失手动添加在 [Install] 段末尾 echo -e \n[Install]\nWantedBymulti-user.target | sudo tee -a /usr/lib/systemd/system/mariadb.service # 重新启用注意enable 前必须 daemon-reload sudo systemctl daemon-reload sudo systemctl enable mariadb sudo systemctl is-enabled mariadb # 应返回 enabled6. 进阶技巧在银河麒麟 V10sunx86_64 上验证与加固银河麒麟高级服务器操作系统 V10代号 sun是国产 Linux 的代表其内核4.19、glibc2.28和 systemd239版本与 CentOS 7/8 接近但 SELinux 策略和默认服务管理更严格。部署mariadb-10.6.8-linux-systemd-x86_64.tar.gz后必须做三件事才能算真正落地验证兼容性、加固网络、建立运维基线。6.1 验证 CPU 架构与 ABI 兼容性ldd与readelf双检x86_64 是基础但某些国产系统内核模块或 libc 补丁可能导致二进制不兼容。用两个命令交叉验证# 检查 mysqld 依赖的动态库是否都能解析 sudo /usr/local/mariadb/bin/mysqld --version ldd /usr/local/mariadb/bin/mysqld | grep not found\| # 检查 ELF ABI 版本必须 ≥ GLIBC_2.17 readelf -V /usr/local/mariadb/bin/mysqld | grep GLIBC_ | head -5预期输出ldd输出中无not found所有指向/lib64/下的真实路径readelf显示0x0000000000000001 (GLIBC_2.17)或更高银河麒麟 V10 的 glibc 是 2.28。若ldd报libpthread.so.0 not found说明系统缺少 POSIX 线程库——这几乎不可能但若真发生需sudo yum install glibc-devel麒麟源。6.2 网络加固用firewalld限制 3306 访问范围银河麒麟默认启用firewalld必须显式放行且禁止全网段开放# 添加 mariadb 服务自动映射 3306/tcp sudo firewall-cmd --permanent --add-servicemariadb # 或更安全只允许特定 IP 段如 192.168.10.0/24 sudo firewall-cmd --permanent --add-rich-rulerule familyipv4 source address192.168.10.0/24 port port3306 protocoltcp accept # 重载防火墙 sudo firewall-cmd --reload # 验证规则 sudo firewall-cmd --list-all注意firewall-cmd --add-servicemariadb依赖/usr/lib/firewalld/services/mariadb.xml。若不存在手动创建?xml version1.0 encodingutf-8? service shortMariaDB/short descriptionMySQL compatible database server/description port protocoltcp port3306/ /service保存为/usr/lib/firewalld/services/mariadb.xml再执行firewall-cmd --reload。6.3 建立运维基线一键健康检查脚本把日常巡检固化成脚本避免每次都要敲一堆命令。创建/usr/local/bin/mariadb-healthcheck.sh#!/bin/bash # MariaDB 10.6.8 健康检查脚本银河麒麟 V10 适配 set -e echo MariaDB 服务状态 sudo systemctl is-active mariadb || { echo ❌ mariadb 服务未运行; exit 1; } echo Socket 与 PID 文件 if [ ! -S /var/lib/mariadb/mysql.sock ]; then echo ❌ mysql.sock 不存在 exit 1 fi if [ ! -f /var/run/mariadb/mariadb.pid ]; then echo ❌ mariadb.pid 不存在 exit 1 fi echo 连通性测试 if ! sudo /usr/local/mariadb/bin/mysql -uroot -pMyNewPass123! -e SELECT 1; /dev/null 21; then echo ❌ 无法连接数据库 exit 1 fi echo 关键参数检查 sudo /usr/local/mariadb/bin/mysql -uroot -pMyNewPass123! -e SHOW VARIABLES LIKE basedir; SHOW VARIABLES LIKE datadir; SHOW VARIABLES LIKE socket; SHOW VARIABLES LIKE max_connections; 2/dev/null echo ✅ 全部检查通过赋予执行权限并加入定时任务sudo chmod x /usr/local/bin/mariadb-healthcheck.sh # 每小时检查一次 echo 0 * * * * root /usr/local/bin/mariadb-healthcheck.sh /var/log/mariadb-health.log 21 | sudo tee /etc/cron.d/mariadb-health我在线上环境跑这个脚本三年它帮我们提前发现过 7 次datadir磁盘满、2 次max_connections耗尽、1 次socket文件被误删的事故。真正的稳定性从来不是靠“一次部署成功”而是靠“每次启动都可验证”。希望帮到你。本文还有配套的精品资源点击获取

相关新闻

金融微服务架构设计:账户、交易与资金安全实战指南

金融微服务架构设计:账户、交易与资金安全实战指南

1. 项目背景:financial-services到底是什么我刚接手这个代号为financial-services的项目时,第一反应是:这个名字取得也太宽泛了。金融服务的范畴大到可以装下几十个系统,但真正落到一行行代码和一个个人物时,它其实是一…

2026/9/26 21:18:53 阅读更多 →
CSP-J/S分数线本质是能力坐标图,不是终点线

CSP-J/S分数线本质是能力坐标图,不是终点线

1. 这不是一张“分数线”,而是一张能力坐标图CSP-J/S晋级参考分数线已出!你晋级了吗?——这句话刷屏的瞬间,我正盯着自己学生交上来的模拟卷发呆。不是因为题目难,而是因为太多孩子把“分数线”当成了终点线&#xff1…

2026/9/26 21:18:53 阅读更多 →
RT-Thread 下 NUC980 系列驱动支持详解:外设矩阵、设备命名与移植配置

RT-Thread 下 NUC980 系列驱动支持详解:外设矩阵、设备命名与移植配置

操作系统嵌入式物联网嵌入式OSRTOS 【免费下载链接】rt-thread RT-Thread is an open source IoT Real-Time Operating System (RTOS). https://rt-thread.github.io/rt-thread/ 项目地址: https://gitcode.com/gh_mirrors/rt/rt-thread 点击查看 免费下载 导读 N…

2026/9/26 21:18:53 阅读更多 →

最新新闻

Atlas 300V 24G推理卡部署YOLO:从CANN到OM模型转换实战

Atlas 300V 24G推理卡部署YOLO:从CANN到OM模型转换实战

1. Atlas 300V 24G 到底是不是一张运算加速卡先说结论:是,但它是一张“推理加速卡”,不是拿来训练的卡。最近不少人看到“atlas 300V 24G”这个词,第一反应是“又出了一张国产运算加速卡,能不能当GPU用,能不…

2026/9/26 21:59:16 阅读更多 →
做网站都需要什么人团图解步骤及避坑指南

做网站都需要什么人团图解步骤及避坑指南

做网站都需要什么人团图解步骤及避坑指南 网站被黑挂马,后台登录密码改了还是进不去,首页突然变成博彩广告,这种深夜救火的滋味,做过站的都懂。很多人这时候第一反应是找技术,但往往发现, 做网站都需要什么人团…

2026/9/26 21:59:16 阅读更多 →
开放式代码审查:从流程设计到工具落地的实践指南

开放式代码审查:从流程设计到工具落地的实践指南

1. 代码审查这件事,为什么我最后选择了开放式的做法先交代一下背景。我在团队里负责过好几年的代码质量基础设施,从最早的互相口头 review,到后来搭 GitLab MR 流程,再到引入独立审查工具,踩了不少坑。说实话&#xff…

2026/9/26 21:59:16 阅读更多 →
3个实战案例教你搞定wordpress只能访问首页

3个实战案例教你搞定wordpress只能访问首页

3个实战案例教你搞定wordpress只能访问首页 找建站公司最让人头疼的就是怕被坑,几千块钱交出去,网站上线半天打不开,客服还在那装死。尤其是遇到 wordpress只能访问首页…

2026/9/26 21:59:16 阅读更多 →
Thinkphp5实现Redis数据缓存的基本步骤

Thinkphp5实现Redis数据缓存的基本步骤

引言在ThinkPHP 5中,你可以使用Redis作为数据缓存的解决方案。Redis是一个开源的内存数据结构存储系统,它可以用作数据库、缓存和消息中介。下面是在ThinkPHP 5中实现Redis数据缓存的基本步骤:1. 安装 Redis 扩展首先,你需要在你的…

2026/9/26 21:59:16 阅读更多 →
Delphi TCP聊天系统实战:服务端长连接、协议解析与离线存储

Delphi TCP聊天系统实战:服务端长连接、协议解析与离线存储

简介:这是一份面向Delphi初学者与中级开发者的学习型源码资源,聚焦实时网络通信与桌面聊天系统开发实践。资源完整呈现了基于Delphi构建的实景聊天系统v3.0全量工程代码,涵盖登录认证、多线程消息收发、TCP/UDP网络模块、用户界面交互及SQLit…

2026/9/26 21:58:16 阅读更多 →

日新闻

数据库课后习题答案别硬背:当测试用例集刷,效率翻倍

数据库课后习题答案别硬背:当测试用例集刷,效率翻倍

简介:万常选版《数据库原理与设计》课后习题答案资源,覆盖第2至6章及第9章,适合正在学习关系模型、数据库建模、关系数据理论与模式求精的本科生、自学者作为复习与自测材料。压缩包共7个文件,含3个doc参考答案、2个sql示例脚本、…

2026/9/26 0:00:25 阅读更多 →
学校官网模拟全流程实践:从页面布局到后端接口与部署

学校官网模拟全流程实践:从页面布局到后端接口与部署

如果你正在找一门 Web 大作业的题目,或者刚开始接触 Web 前端开发想做点能拿来展示的东西,“学校官网模拟”几乎是最稳的选择。题目看着简单,但要把导航、新闻列表、轮播 Banner、二级页面、后台数据都串起来,其实已经把前端布局、…

2026/9/26 0:00:25 阅读更多 →
超级玛丽游戏源码C++:从零搭建横版跳跃游戏工程

超级玛丽游戏源码C++:从零搭建横版跳跃游戏工程

简介:这是一份面向游戏开发初学者与C进阶学习者的超级玛丽(超级马里奥)游戏源码,基于C面向对象编程实现,适合想通过经典项目理解游戏主循环、角色类设计、地图关卡加载与物理碰撞检测的读者参考。压缩包共49个文件&…

2026/9/26 0:00:25 阅读更多 →

周新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡…

2026/9/25 19:27:14 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/26 20:27:29 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&…

2026/9/25 20:29:09 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/25 20:29:43 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/25 20:29:31 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/25 19:27:26 阅读更多 →