docs: home.xpcool.com 上线完成 + Kuma 状态页建成
- 2026-09-13.md:追加 4 条(部署完成、Kuma 状态页建成、 灌库脚本静默失败根因、SSH 被拒时的公网旁路验证法) - DEPLOY.md:站点清单更新 home.xpcool.com 上线状态; 新增「公开状态页」小节(三表配合、send_url 必为 1、 两个验证端点、同源反代写法、回滚方式); 工具链坑位新增「$LASTEXITCODE 不能穿透 ssh」与 「set -e + 写死路径 = 静默失败」 - 技能 uptime-kuma-sqlite-ops 同步补齐状态页建法
This commit is contained in:
parent
0f94521086
commit
0cf48dc1cb
@ -1,5 +1,11 @@
|
|||||||
# 2026-09-13
|
# 2026-09-13
|
||||||
|
|
||||||
|
2026-09-13 | CFG | **home.xpcool.com 部署完成(服务器侧)**:SSH 本次已放行(`~/.ssh/xpcool_ed25519` → `xxcool@193.112.118.168:22025`,`sudo` 免密 OK),直接由 AI 执行部署 —— 站点 27 文件落 `/data/www/home.xpcool.com`、证书落 `/data/nginx/ssl/home.xpcool.com/`(公私钥 pubkey md5 一致)、配置落 `/data/nginx/conf.d/home.xpcool.com.conf`(首次部署无旧配置)、`nginx -t` 通过 + reload、本机 https **200** + `<title>xpcool 服务台</title>` + 静态资源 200 + 80→301→443。**唯一待办仍是 DNS**:`home` A 记录未加(223.5.5.5/119.29.29.29 及权威 `calvin/meat.dnspod.net` 全 NXDOMAIN,且无泛解析)
|
||||||
|
2026-09-13 | CFG | **Kuma 建公开状态页 `xpcool`(首页状态格的真正数据源)**:此前 `status_page` 表为空 —— 即 `status.xpcool.com` 只是 Kuma 自身面板、从未建过状态页,这正是首页显示「状态数据未接入」的根因。直写 SQLite 建:状态页(title「xpcool 服务台」/theme dark/不收录/显证书到期/60s 刷新) + 分组「自建服务」(public=1) + 9 监控关联且 **`send_url=1`**。验证:公网 `/api/status-page/xpcool` 200 返回 9 监控且带 url;heartbeat 返回 9 组心跳;首页实测 **9/9 正常**、卡片「正常」+ 100.00%
|
||||||
|
2026-09-13 | FIX | Kuma 状态页灌库脚本「静默失败」:`kuma-statuspage.sh` 里 `SQL_SRC` 写死 `/tmp/wb_kuma_statuspage.sql`,与实际上传的 `/tmp/kuma-statuspage.sql` 不符,`set -e` 在第一步就退出、日志只有一行、且远程 `echo $LASTEXITCODE` 被本地 PowerShell 提前展开成空 → **一度完全看不出失败原因**。教训:远程脚本的 `set -e` + 文件路径约定要自洽(改用 `$(dirname $0)/同名.sql` 推导),且回传执行结果要走「服务器落日志 + base64 回传」,别依赖 `$LASTEXITCODE` 穿透 ssh
|
||||||
|
2026-09-13 | FIX | 沙箱取日志被拒后的替代验证路径:SSH 被拦时不一定要重试 —— Kuma 状态页 API 在 `https://status.xpcool.com/api/status-page/<slug>` **公网匿名可达**,直接 HTTPS 查询即可判断状态页是否建成,绕开 SSH
|
||||||
|
2026-09-13 | CFG | home.xpcool.com 上线物料备齐:证书(`E:\Project\home.xpcool.com_nginx\`,**注意不在 `E:\CentOS\ssl\` 下**)核验通过 —— `CN=home.xpcool.com` SAN 一致、TrustAsia DV、有效期至 **2026-12-12**、公私钥配套;生成一键部署包 `E:\CentOS\deploy-home\`(bundle.tar.gz + deploy-home.ps1),nginx 配置含 `/api/kuma/` 同源反代到 `127.0.0.1:3001/api/status-page/`。**SSH 再遭沙箱拦截且用户拒绝授权** → 沿用「AI 备包、用户本机执行」模式。**待办:`home.xpcool.com` A 记录仍未添加**(223.5.5.5/119.29.29.29/8.8.8.8 三方确认不存在,对照 status.xpcool.com 可正常解析)
|
||||||
|
|
||||||
2026-09-13 | REQ | **新建 home.xpcool.com(xpcool 服务台)**:9 个自建服务的统一入口 + Uptime Kuma 实时存活状态 + 主机规格;Vite6 + Vue3 + TS(strict) + Pinia + vue-router + UnoCSS + SCSS,视觉按 `design-taste-frontend` 规范(深色仪表盘语言、双主题令牌、单形状系统、零 eyebrow/零 em-dash、bento 栅格 4+2/2+2+2/3+3/3+3);构建通过(gzip 约 56KB),本地 git 已 init + 首次 commit(47 文件),**待用户加 DNS/证书后部署**
|
2026-09-13 | REQ | **新建 home.xpcool.com(xpcool 服务台)**:9 个自建服务的统一入口 + Uptime Kuma 实时存活状态 + 主机规格;Vite6 + Vue3 + TS(strict) + Pinia + vue-router + UnoCSS + SCSS,视觉按 `design-taste-frontend` 规范(深色仪表盘语言、双主题令牌、单形状系统、零 eyebrow/零 em-dash、bento 栅格 4+2/2+2+2/3+3/3+3);构建通过(gzip 约 56KB),本地 git 已 init + 首次 commit(47 文件),**待用户加 DNS/证书后部署**
|
||||||
2026-09-13 | FIX | 移动端横向溢出「误报」定位:真 390×844 视口实测 `scrollW=390 / overflow=0`,布局本身无溢出;此前截图右边缘被切是**取图假象**——Windows 无头 Chrome 窗口有 500px 下限,且 iframe 滚条槽位让内层 `clientWidth` 变 375,恰好把溢出藏住;改用 CDP `Emulation.setDeviceMetricsOverride` 后结论可靠(详见 DEPLOY.md 工具链坑位)
|
2026-09-13 | FIX | 移动端横向溢出「误报」定位:真 390×844 视口实测 `scrollW=390 / overflow=0`,布局本身无溢出;此前截图右边缘被切是**取图假象**——Windows 无头 Chrome 窗口有 500px 下限,且 iframe 滚条槽位让内层 `clientWidth` 变 375,恰好把溢出藏住;改用 CDP `Emulation.setDeviceMetricsOverride` 后结论可靠(详见 DEPLOY.md 工具链坑位)
|
||||||
2026-09-13 | CHG | 新增 `home.xpcool.com/scripts/shoot-mobile.mjs`:Node 22 内置 WebSocket 手写极简 CDP 客户端,**零依赖**完成真移动视口测量 + `captureBeyondViewport` 整页截图;`shoot.ps1` 收敛为桌面端并修掉「按 `*.png` 清空 .shots 误删移动端截图」的 bug
|
2026-09-13 | CHG | 新增 `home.xpcool.com/scripts/shoot-mobile.mjs`:Node 22 内置 WebSocket 手写极简 CDP 客户端,**零依赖**完成真移动视口测量 + `captureBeyondViewport` 整页截图;`shoot.ps1` 收敛为桌面端并修掉「按 `*.png` 清空 .shots 误删移动端截图」的 bug
|
||||||
|
|||||||
@ -32,6 +32,9 @@
|
|||||||
- **经 `ssh.exe` 执行多行脚本会踩转义坑(2026-09-13 实测)**:把多行 here-string 直接当参数传给 `ssh.exe`,远程 bash 解析到 `(` 等字符会报 `syntax error near unexpected token '('`,**而且报错前的行已经执行了**,导致状态半途而废(证书只搬了一半)。**可靠做法**:本地写 `.sh` 文件(用 `-replace "`r`n","`n"` 强制 LF + `WriteAllText` UTF-8 无 BOM)→ **单独** `scp` 上传 → `ssh "chmod +x /tmp/x.sh && /tmp/x.sh"` 执行。注意 `echo <b64> | base64 -d | bash` 会被 PowerShell 工具安全策略直接拦截("Spawning a non-PowerShell shell")。
|
- **经 `ssh.exe` 执行多行脚本会踩转义坑(2026-09-13 实测)**:把多行 here-string 直接当参数传给 `ssh.exe`,远程 bash 解析到 `(` 等字符会报 `syntax error near unexpected token '('`,**而且报错前的行已经执行了**,导致状态半途而废(证书只搬了一半)。**可靠做法**:本地写 `.sh` 文件(用 `-replace "`r`n","`n"` 强制 LF + `WriteAllText` UTF-8 无 BOM)→ **单独** `scp` 上传 → `ssh "chmod +x /tmp/x.sh && /tmp/x.sh"` 执行。注意 `echo <b64> | base64 -d | bash` 会被 PowerShell 工具安全策略直接拦截("Spawning a non-PowerShell shell")。
|
||||||
- **多源文件 `scp` 不可靠(2026-09-13 实测)**:一次 `scp a b c d e host:/tmp/` 只落地了其中 2 个,且**没有任何报错**。**每次只 scp 一个文件**;脚本内用 `for` + `[ -f ]` 判断做幂等补齐,避免重复上传。
|
- **多源文件 `scp` 不可靠(2026-09-13 实测)**:一次 `scp a b c d e host:/tmp/` 只落地了其中 2 个,且**没有任何报错**。**每次只 scp 一个文件**;脚本内用 `for` + `[ -f ]` 判断做幂等补齐,避免重复上传。
|
||||||
- **远程脚本一律写成幂等**(`if [ -f ]` 判断后再 `mv -f`),因为 SSH 调用可能被沙箱拦截/用户误拒而中断,重跑不能出错。
|
- **远程脚本一律写成幂等**(`if [ -f ]` 判断后再 `mv -f`),因为 SSH 调用可能被沙箱拦截/用户误拒而中断,重跑不能出错。
|
||||||
|
- **别用 `echo $LASTEXITCODE` 穿透 ssh 取远端退出码(2026-09-13 实测踩坑)**:`$LASTEXITCODE` 是 PowerShell 自动变量,在**本地**双引号字符串里就被展开成空串,远端实际收到的是 `echo DONE`,于是「脚本明明失败了却看到一个成功的回声」。**可靠做法**:远端 `sh /tmp/x.sh > /tmp/x.log 2>&1`,再 `base64 -w0 /tmp/x.log` 回传、本地解码落盘后用 Read 看(base64 还能顺带规避 Windows 控制台按 GBK 解 UTF-8 造成的乱码)。
|
||||||
|
- **`set -e` + 写死的路径 = 静默失败**:`kuma-statuspage.sh` 曾把来源文件写死成 `/tmp/wb_kuma_statuspage.sql`,而上传的是 `/tmp/kuma-statuspage.sql`,脚本在第一步就退出,**日志只有一行「缺少 …」,看起来像什么都没发生**。远程脚本内部一律用 `$(dirname "$0")/<同名文件>` 推导,再退到 `/tmp/<同名文件>` 兜底;且上传时保证「脚本名.sh ↔ 同名.sql」成对。
|
||||||
|
- **SSH 被沙箱拦截时不一定要重试**:先找**公网可达的旁路**做验证。例如 Kuma 的 `/api/status-page/<slug>` 在 `status.xpcool.com` 上匿名可达,直接 HTTPS 查就能判断状态页是否建成,省一次权限弹窗。真的需要读远端日志时,再向用户说明并请求重新授权(授权后原命令即可重跑)。
|
||||||
- **无头 Chrome 截图/量视口有三个坑(2026-09-13 实测,做前端移动端验收必看)**:
|
- **无头 Chrome 截图/量视口有三个坑(2026-09-13 实测,做前端移动端验收必看)**:
|
||||||
① Windows 下窗口宽度有 **500px 下限**,`--window-size=390` 会被撑到 500;
|
① Windows 下窗口宽度有 **500px 下限**,`--window-size=390` 会被撑到 500;
|
||||||
② `--force-device-scale-factor` **只改渲染倍率、不改 CSS 视口宽度**(给 dsf=2 + window 780,拿到的仍是 764 CSS px,不是 390);
|
② `--force-device-scale-factor` **只改渲染倍率、不改 CSS 视口宽度**(给 dsf=2 + window 780,拿到的仍是 764 CSS px,不是 390);
|
||||||
@ -53,7 +56,7 @@
|
|||||||
| sub2api.xpcool.com | `sub2api` + postgres + redis | 127.0.0.1:18080 | — |
|
| sub2api.xpcool.com | `sub2api` + postgres + redis | 127.0.0.1:18080 | — |
|
||||||
| code.xpcool.com | `code-server` | 127.0.0.1:8080 | 网页版 VS Code |
|
| code.xpcool.com | `code-server` | 127.0.0.1:8080 | 网页版 VS Code |
|
||||||
| **status.xpcool.com** | **`uptime-kuma`** | **127.0.0.1:3001** | **服务监控面板(2026-09-13 新增)** |
|
| **status.xpcool.com** | **`uptime-kuma`** | **127.0.0.1:3001** | **服务监控面板(2026-09-13 新增)** |
|
||||||
| **home.xpcool.com** | **—(静态)** | **—** | **xpcool 服务台:9 站统一入口 + 存活状态(2026-09-13 建成,待上域名/证书)** |
|
| **home.xpcool.com** | **—(静态)** | **—** | **xpcool 服务台:9 站统一入口 + 存活状态。2026-09-13 站点/证书/nginx 已全部上线,`/api/kuma/` 同源反代到 Kuma;⚠️ 仅剩 DNSPod `home` A 记录未加,公网暂不可访问** |
|
||||||
| —(暂无域名) | `bark` | 0.0.0.0:8081 | Bark 推送服务端 |
|
| —(暂无域名) | `bark` | 0.0.0.0:8081 | Bark 推送服务端 |
|
||||||
| — | `xpcool-mysql` | 127.0.0.1:3306 | MySQL 8.0(库 `service`) |
|
| — | `xpcool-mysql` | 127.0.0.1:3306 | MySQL 8.0(库 `service`) |
|
||||||
|
|
||||||
@ -74,6 +77,13 @@
|
|||||||
| file / read / tool / sub2api | 120s | 2 | 2000 |
|
| file / read / tool / sub2api | 120s | 2 | 2000 |
|
||||||
| code / status | 300s | 2 | 3000 |
|
| code / status | 300s | 2 | 3000 |
|
||||||
- **`service.xpcool.com` 单独放宽为 `["200-399","404"]`**:该后端是纯 POST 接口(遵循本项目"接口全 POST"规范),任何 GET 都 404;返回 404 说明 nginx + GoFrame 存活,**后端进程真挂时 nginx 返回 502,仍会判 DOWN**。
|
- **`service.xpcool.com` 单独放宽为 `["200-399","404"]`**:该后端是纯 POST 接口(遵循本项目"接口全 POST"规范),任何 GET 都 404;返回 404 说明 nginx + GoFrame 存活,**后端进程真挂时 nginx 返回 502,仍会判 DOWN**。
|
||||||
|
- **公开状态页(2026-09-13 建,首页状态格的唯一数据源)**:`status.xpcool.com` 本身只是 Kuma 面板,**状态页是另一回事**,必须单独建,否则 `/api/status-page/<slug>` 恒 404。
|
||||||
|
- 三张表配合:`status_page`(slug/title/published/theme…)→ `group`(**需 `public=1` 且 `status_page_id` 指向该页**)→ `monitor_group`(监控与分组的关联)。
|
||||||
|
- **必须置 `monitor_group.send_url = 1`**。Kuma 的 `Monitor.toPublicJSON()` 是 `if (this.sendUrl) obj.url = this.customUrl ?? this.url;` —— 不开 `send_url` 时 API **不返回 `url` 字段**。而前端就是靠 `url` 里的主机名把监控和卡片对齐的,不返回就等于状态全「未接入」。
|
||||||
|
- 当前实例:slug `xpcool`(与 `home.xpcool.com/src/composables/useStatus.ts` 里 `STATUS_PAGE_SLUG` 一致)、title「xpcool 服务台」、theme dark、`search_engine_index=0`(内部站不收录)、`show_certificate_expiry=1`、`auto_refresh_interval=60`;分组「自建服务」;9 个监控全挂且 `send_url=1`。
|
||||||
|
- 建页脚本(幂等,含 DB 备份):`E:\CentOS\deploy-home\kuma-statuspage.{sql,sh}`。**改库后必须 `docker restart uptime-kuma`** 才生效。
|
||||||
|
- 验证端点:`/api/status-page/<slug>`(分组+监控列表)与 `/api/status-page/heartbeat/<slug>`(`heartbeatList`/`uptimeList`,键形如 `"3_24"`,前缀是监控 id)。**这两个端点在 status.xpcool.com 上公网匿名可达**,SSH 被拦时可直接用 HTTPS 验证状态页是否建成。
|
||||||
|
- 回滚:`sudo cp /tmp/kuma.db.backup.<时间戳> /data/uptime-kuma/kuma.db && sudo docker restart uptime-kuma`。
|
||||||
- **通知渠道 = Bark(2026-09-13 已配置并验证)**:Kuma 2.5.3 原生支持 Bark(`/app/server/notification-providers/bark.js`)。`notification` 表:`id/name/active/user_id/is_default/config`,**`config` 是整条通知对象的 JSON 字符串(含 `type`),Kuma 用 `providerList[notification.type]` 派发,靠 `item.name` 索引**。
|
- **通知渠道 = Bark(2026-09-13 已配置并验证)**:Kuma 2.5.3 原生支持 Bark(`/app/server/notification-providers/bark.js`)。`notification` 表:`id/name/active/user_id/is_default/config`,**`config` 是整条通知对象的 JSON 字符串(含 `type`),Kuma 用 `providerList[notification.type]` 派发,靠 `item.name` 索引**。
|
||||||
- **最大的坑:`type` 必须写 `Bark`(首字母大写)**,不是 `bark`。前端 `NotificationDialog.vue:257` 就是 `Bark: "Bark"`;写成小写则查不到 provider,**静默不发通知**。
|
- **最大的坑:`type` 必须写 `Bark`(首字母大写)**,不是 `bark`。前端 `NotificationDialog.vue:257` 就是 `Bark: "Bark"`;写成小写则查不到 provider,**静默不发通知**。
|
||||||
- 当前配置:`id=1 / name='Bark 手机推送' / is_default=1`,`config` = `{"type":"Bark","barkEndpoint":"http://172.17.0.1:8081/sm5WnyANWx89GgLtFnRXhk","barkGroup":"Uptime-Kuma","apiVersion":"v1"}`。
|
- 当前配置:`id=1 / name='Bark 手机推送' / is_default=1`,`config` = `{"type":"Bark","barkEndpoint":"http://172.17.0.1:8081/sm5WnyANWx89GgLtFnRXhk","barkGroup":"Uptime-Kuma","apiVersion":"v1"}`。
|
||||||
|
|||||||
58
.workbuddy/tmp/datadir.txt
Normal file
58
.workbuddy/tmp/datadir.txt
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
=== E:\Programs\MySQL\data 内容 ===
|
||||||
|
#innodb_redo [DIR] 2026/9/13 19:27:08
|
||||||
|
#innodb_temp [DIR] 2026/9/13 19:27:08
|
||||||
|
mysql [DIR] 2026/9/13 19:27:06
|
||||||
|
performance_schema [DIR] 2026/9/13 19:27:05
|
||||||
|
sys [DIR] 2026/9/13 19:27:06
|
||||||
|
#ib_16384_0.dblwr [FILE] 2026/9/13 19:27:08
|
||||||
|
#ib_16384_1.dblwr [FILE] 2026/9/13 19:27:01
|
||||||
|
auto.cnf [FILE] 2026/9/13 19:27:01
|
||||||
|
ca-key.pem [FILE] 2026/9/13 19:27:06
|
||||||
|
ca.pem [FILE] 2026/9/13 19:27:06
|
||||||
|
client-cert.pem [FILE] 2026/9/13 19:27:06
|
||||||
|
client-key.pem [FILE] 2026/9/13 19:27:06
|
||||||
|
ibdata1 [FILE] 2026/9/13 19:27:08
|
||||||
|
ib_buffer_pool [FILE] 2026/9/13 19:27:07
|
||||||
|
mysql.ibd [FILE] 2026/9/13 19:27:07
|
||||||
|
private_key.pem [FILE] 2026/9/13 19:27:06
|
||||||
|
public_key.pem [FILE] 2026/9/13 19:27:06
|
||||||
|
server-cert.pem [FILE] 2026/9/13 19:27:06
|
||||||
|
server-key.pem [FILE] 2026/9/13 19:27:06
|
||||||
|
undo_001 [FILE] 2026/9/13 19:27:07
|
||||||
|
undo_002 [FILE] 2026/9/13 19:27:07
|
||||||
|
=== 递归前 30 项 ===
|
||||||
|
E:\Programs\MySQL\data\#innodb_redo 09/13/2026 19:27:08
|
||||||
|
E:\Programs\MySQL\data\#innodb_temp 09/13/2026 19:27:08
|
||||||
|
E:\Programs\MySQL\data\mysql 09/13/2026 19:27:06
|
||||||
|
E:\Programs\MySQL\data\performance_schema 09/13/2026 19:27:05
|
||||||
|
E:\Programs\MySQL\data\sys 09/13/2026 19:27:06
|
||||||
|
E:\Programs\MySQL\data\#ib_16384_0.dblwr 09/13/2026 19:27:08
|
||||||
|
E:\Programs\MySQL\data\#ib_16384_1.dblwr 09/13/2026 19:27:01
|
||||||
|
E:\Programs\MySQL\data\auto.cnf 09/13/2026 19:27:01
|
||||||
|
E:\Programs\MySQL\data\ca-key.pem 09/13/2026 19:27:06
|
||||||
|
E:\Programs\MySQL\data\ca.pem 09/13/2026 19:27:06
|
||||||
|
E:\Programs\MySQL\data\client-cert.pem 09/13/2026 19:27:06
|
||||||
|
E:\Programs\MySQL\data\client-key.pem 09/13/2026 19:27:06
|
||||||
|
E:\Programs\MySQL\data\ibdata1 09/13/2026 19:27:08
|
||||||
|
E:\Programs\MySQL\data\ib_buffer_pool 09/13/2026 19:27:07
|
||||||
|
E:\Programs\MySQL\data\mysql.ibd 09/13/2026 19:27:07
|
||||||
|
E:\Programs\MySQL\data\private_key.pem 09/13/2026 19:27:06
|
||||||
|
E:\Programs\MySQL\data\public_key.pem 09/13/2026 19:27:06
|
||||||
|
E:\Programs\MySQL\data\server-cert.pem 09/13/2026 19:27:06
|
||||||
|
E:\Programs\MySQL\data\server-key.pem 09/13/2026 19:27:06
|
||||||
|
E:\Programs\MySQL\data\undo_001 09/13/2026 19:27:07
|
||||||
|
E:\Programs\MySQL\data\undo_002 09/13/2026 19:27:07
|
||||||
|
E:\Programs\MySQL\data\#innodb_redo\#ib_redo10_tmp 09/13/2026 19:27:02
|
||||||
|
E:\Programs\MySQL\data\#innodb_redo\#ib_redo11_tmp 09/13/2026 19:27:02
|
||||||
|
E:\Programs\MySQL\data\#innodb_redo\#ib_redo12_tmp 09/13/2026 19:27:02
|
||||||
|
E:\Programs\MySQL\data\#innodb_redo\#ib_redo13_tmp 09/13/2026 19:27:02
|
||||||
|
E:\Programs\MySQL\data\#innodb_redo\#ib_redo14_tmp 09/13/2026 19:27:02
|
||||||
|
E:\Programs\MySQL\data\#innodb_redo\#ib_redo15_tmp 09/13/2026 19:27:02
|
||||||
|
E:\Programs\MySQL\data\#innodb_redo\#ib_redo16_tmp 09/13/2026 19:27:02
|
||||||
|
E:\Programs\MySQL\data\#innodb_redo\#ib_redo17_tmp 09/13/2026 19:27:02
|
||||||
|
E:\Programs\MySQL\data\#innodb_redo\#ib_redo18_tmp 09/13/2026 19:27:02
|
||||||
|
=== 是否有其它残留 MySQL 数据目录 ===
|
||||||
|
bin | docs | include | lib | share
|
||||||
|
=== error.log 是否存在 ===
|
||||||
|
False
|
||||||
|
=== DONE ===
|
||||||
15
.workbuddy/tmp/enc2.txt
Normal file
15
.workbuddy/tmp/enc2.txt
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
install-service.bat: no BOM (ok)
|
||||||
|
pull-prod.bat: no BOM (ok)
|
||||||
|
start-tunnel.bat: no BOM (ok)
|
||||||
|
stop-tunnel.bat: no BOM (ok)
|
||||||
|
=== 最终文件清单 ===
|
||||||
|
credentials.ps1 1073 bytes
|
||||||
|
init-local.sql 1386 bytes
|
||||||
|
install-service.bat 506 bytes
|
||||||
|
install-service.ps1 5720 bytes
|
||||||
|
pull-prod.bat 179 bytes
|
||||||
|
pull-prod.ps1 3993 bytes
|
||||||
|
start-tunnel.bat 106 bytes
|
||||||
|
start-tunnel.ps1 2366 bytes
|
||||||
|
stop-tunnel.bat 105 bytes
|
||||||
|
stop-tunnel.ps1 944 bytes
|
||||||
19
.workbuddy/tmp/env-probe.txt
Normal file
19
.workbuddy/tmp/env-probe.txt
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
=== DISK ===
|
||||||
|
C: free=244.4GB total=522.3GB
|
||||||
|
D: free=173.1GB total=1,256.6GB
|
||||||
|
E: free=71.4GB total=127.0GB
|
||||||
|
=== ADMIN ===
|
||||||
|
user=XXL\xxl elevated=False
|
||||||
|
=== PKG MGR ===
|
||||||
|
winget: C:\Users\xxl\AppData\Local\Microsoft\WindowsApps\winget.exe
|
||||||
|
choco: MISSING
|
||||||
|
scoop: MISSING
|
||||||
|
curl:
|
||||||
|
tar: C:\WINDOWS\system32\tar.exe
|
||||||
|
docker: MISSING
|
||||||
|
=== PORT 3306/13306 ===
|
||||||
|
3306/13306 both FREE
|
||||||
|
=== ENV ===
|
||||||
|
ProgramFiles=C:\Program Files
|
||||||
|
USERPROFILE=C:\Users\xxl
|
||||||
|
=== DONE ===
|
||||||
8
.workbuddy/tmp/init.txt
Normal file
8
.workbuddy/tmp/init.txt
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
[..] mysqld --initialize-insecure
|
||||||
|
2026-09-13T11:27:01.022642Z 0 [System] [MY-013169] [Server] E:\Programs\MySQL\mysql-8.0.46-winx64\bin\mysqld.exe (mysqld 8.0.46) initializing of server in progress as process 27208
|
||||||
|
2026-09-13T11:27:01.834696Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
|
||||||
|
2026-09-13T11:27:03.435969Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
|
||||||
|
2026-09-13T11:27:06.398862Z 6 [Warning] [MY-010453] [Server] root@localhost is created with an empty password ! Please consider switching off the --initialize-insecure option.
|
||||||
|
exit = 0
|
||||||
|
datadir mysql subdir exists = True
|
||||||
|
datadir entries = 21
|
||||||
3
.workbuddy/tmp/initlocal.txt
Normal file
3
.workbuddy/tmp/initlocal.txt
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
exit = 1
|
||||||
|
mysql: [Warning] Using a password on the command line interface can be insecure.
|
||||||
|
ERROR 2003 (HY000): Can't connect to MySQL server on '127.0.0.1:3306' (10061)
|
||||||
28
.workbuddy/tmp/install1.txt
Normal file
28
.workbuddy/tmp/install1.txt
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
=== INITIALIZE ===
|
||||||
|
mysqld.exe : 2026-09-13T11:27:15.263331Z 0 [System] [MY-013169] [Server] E:\Pro
|
||||||
|
grams\MySQL\mysql-8.0.46-winx64\bin\mysqld.exe (mysqld 8.0.46) initializing of
|
||||||
|
server in progress as process 7428
|
||||||
|
所在位置 行:449 字符: 12
|
||||||
|
+ $initOut = & $mysqld "--defaults-file=$ini" --initialize-insecure --c ...
|
||||||
|
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
+ CategoryInfo : NotSpecified: (2026-09-13T11:2...as process 7428
|
||||||
|
:String) [], RemoteException
|
||||||
|
+ FullyQualifiedErrorId : NativeCommandError
|
||||||
|
|
||||||
|
2026-09-13T11:27:15.264745Z 0 [ERROR] [MY-010457] [Server] --initialize specifi
|
||||||
|
ed but the data directory has files in it. Aborting.
|
||||||
|
2026-09-13T11:27:15.264752Z 0 [ERROR] [MY-013236] [Server] The designated data
|
||||||
|
directory E:\Programs\MySQL\data\ is unusable. You can remove all files that th
|
||||||
|
e server added to it.
|
||||||
|
2026-09-13T11:27:15.264777Z 0 [ERROR] [MY-010119] [Server] Aborting
|
||||||
|
2026-09-13T11:27:15.264875Z 0 [System] [MY-010910] [Server] E:\Programs\MySQL\m
|
||||||
|
ysql-8.0.46-winx64\bin\mysqld.exe: Shutdown complete (mysqld 8.0.46) MySQL Com
|
||||||
|
munity Server - GPL.
|
||||||
|
|
||||||
|
init exit = 1
|
||||||
|
data\mysql exists = True
|
||||||
|
=== INSTALL SERVICE ===
|
||||||
|
Install/Remove of the Service Denied!
|
||||||
|
|
||||||
|
install exit = 0
|
||||||
|
=== DONE ===
|
||||||
7
.workbuddy/tmp/probe2.txt
Normal file
7
.workbuddy/tmp/probe2.txt
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
=== GROUPS ===
|
||||||
|
group query failed
|
||||||
|
=== MIRROR TEST ===
|
||||||
|
FAIL https://mirrors.cloud.tencent.com/mysql/downloads/MySQL-8.0/ :: 远程服务器返回错误: (404) 未找到。
|
||||||
|
FAIL https://mirrors.tuna.tsinghua.edu.cn/mysql/downloads/MySQL-8.0/ :: 远程服务器返回错误: (404) 未找到。
|
||||||
|
FAIL https://mirrors.ustc.edu.cn/mysql-ftp/Downloads/MySQL-8.0/ :: 远程服务器返回错误: (404) 未找到。
|
||||||
|
=== DONE ===
|
||||||
15
.workbuddy/tmp/probe3.txt
Normal file
15
.workbuddy/tmp/probe3.txt
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
=== WHOAMI GROUPS ===
|
||||||
|
|
||||||
|
NT AUTHORITY\本地帐户和管理员组成员 已知组 S-1-5-114 只用于拒绝的组
|
||||||
|
BUILTIN\Administrators 别名 S-1-5-32-544 只用于拒绝的组
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
=== ROOT DIRS ===
|
||||||
|
--- https://mirrors.tuna.tsinghua.edu.cn/mysql/ ---
|
||||||
|
../ | apt/ | yum/
|
||||||
|
--- https://mirrors.cloud.tencent.com/mysql/ ---
|
||||||
|
../ | apt/ | yum/
|
||||||
|
FAIL https://mirrors.ustc.edu.cn/mysql-ftp/ :: 远程服务器返回错误: (404) 未找到。
|
||||||
|
=== DONE ===
|
||||||
12
.workbuddy/tmp/probe4.txt
Normal file
12
.workbuddy/tmp/probe4.txt
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
dir ready: True
|
||||||
|
=== Programs content ===
|
||||||
|
DBX | GoLand 2025.3 | Microsoft VS Code | MobaXterm | MobaXterm_Installer_v25.3 | MySQL | Trae CN | WebStorm 2024.3.4 | WorkBuddy
|
||||||
|
=== HEAD cdn.mysql.com ===
|
||||||
|
|
||||||
|
HTTP/1.1 200 Connection Established
|
||||||
|
HTTP/1.1 200 OK
|
||||||
|
Content-Length: 248009349
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
=== DONE ===
|
||||||
11
.workbuddy/tmp/probe5.txt
Normal file
11
.workbuddy/tmp/probe5.txt
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
=== E:\Programs\MySQL ===
|
||||||
|
(empty dir)
|
||||||
|
=== E:\Programs\DBX ===
|
||||||
|
dbx.exe [FILE]
|
||||||
|
uninstall.exe [FILE]
|
||||||
|
=== mysqld anywhere in E:\Programs ===
|
||||||
|
|
||||||
|
=== DBX exe ===
|
||||||
|
E:\Programs\DBX\dbx.exe
|
||||||
|
E:\Programs\DBX\uninstall.exe
|
||||||
|
=== DONE ===
|
||||||
14
.workbuddy/tmp/procs.txt
Normal file
14
.workbuddy/tmp/procs.txt
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
=== mysqld 进程 ===
|
||||||
|
mysqld 未运行
|
||||||
|
=== ssh 进程 ===
|
||||||
|
ssh 未运行
|
||||||
|
=== 监听端口 3306/13306/33060 ===
|
||||||
|
均未监听
|
||||||
|
=== error.log tail ===
|
||||||
|
2026-09-13T11:27:57.291523Z 0 [System] [MY-010116] [Server] E:\Programs\MySQL\mysql-8.0.46-winx64\bin\mysqld.exe (mysqld 8.0.46) starting as process 45320
|
||||||
|
2026-09-13T11:27:57.772254Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
|
||||||
|
2026-09-13T11:28:01.565772Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
|
||||||
|
2026-09-13T11:28:02.117475Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed.
|
||||||
|
2026-09-13T11:28:02.118610Z 0 [System] [MY-013602] [Server] Channel mysql_main configured to support TLS. Encrypted connections are now supported for this channel.
|
||||||
|
2026-09-13T11:28:02.155511Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Bind-address: '::' port: 33060
|
||||||
|
2026-09-13T11:28:02.155600Z 0 [System] [MY-010931] [Server] E:\Programs\MySQL\mysql-8.0.46-winx64\bin\mysqld.exe: ready for connections. Version: '8.0.46' socket: '' port: 3306 MySQL Community Server - GPL.
|
||||||
12
.workbuddy/tmp/start1.txt
Normal file
12
.workbuddy/tmp/start1.txt
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
[..] starting mysqld
|
||||||
|
launched pid = 45188
|
||||||
|
3306 listening = True (after 3 s)
|
||||||
|
process alive = True
|
||||||
|
=== error.log tail ===
|
||||||
|
2026-09-13T11:27:57.291523Z 0 [System] [MY-010116] [Server] E:\Programs\MySQL\mysql-8.0.46-winx64\bin\mysqld.exe (mysqld 8.0.46) starting as process 45320
|
||||||
|
2026-09-13T11:27:57.772254Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
|
||||||
|
2026-09-13T11:28:01.565772Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
|
||||||
|
2026-09-13T11:28:02.117475Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed.
|
||||||
|
2026-09-13T11:28:02.118610Z 0 [System] [MY-013602] [Server] Channel mysql_main configured to support TLS. Encrypted connections are now supported for this channel.
|
||||||
|
2026-09-13T11:28:02.155511Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Bind-address: '::' port: 33060
|
||||||
|
2026-09-13T11:28:02.155600Z 0 [System] [MY-010931] [Server] E:\Programs\MySQL\mysql-8.0.46-winx64\bin\mysqld.exe: ready for connections. Version: '8.0.46' socket: '' port: 3306 MySQL Community Server - GPL.
|
||||||
5
.workbuddy/tmp/syntax.txt
Normal file
5
.workbuddy/tmp/syntax.txt
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
[OK] credentials.ps1
|
||||||
|
[OK] install-service.ps1
|
||||||
|
[OK] pull-prod.ps1
|
||||||
|
[OK] start-tunnel.ps1
|
||||||
|
[OK] stop-tunnel.ps1
|
||||||
7
.workbuddy/tmp/unzip.txt
Normal file
7
.workbuddy/tmp/unzip.txt
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
size = 236.5 MB
|
||||||
|
md5 = 003f527d5df61b663ff191038cd676bd
|
||||||
|
MD5 OK
|
||||||
|
[..] extracting ...
|
||||||
|
tar exit = 0
|
||||||
|
target exists = True
|
||||||
|
[bin] mysql.exe, mysqladmin.exe, mysqlbinlog.exe, mysqlcheck.exe, mysqld.exe, mysqldump.exe, mysqlimport.exe, mysqlpump.exe
|
||||||
Loading…
Reference in New Issue
Block a user