V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  n0099  ›  全部回复第 1 页 / 共 9 页
回复总数  167
1  2  3  4  5  6  7  8  9  
From: "n0099" <[email protected]>
Date: 2021-04-20, 08:13
To: "Gao Yuan3" <[email protected]>
CC: "office365support" <[email protected]>, "OTS_SPO" <[email protected]>
Subject: Re:SR_2021041390874_SharePoint 服务端不支持 method 为 OPTIONS 的浏览器 CORS preflight 请求

没有了,十分感谢您这一周来的工作

------------------ Original ------------------
From: "Gao Yuan3"<[email protected]>;
Date: Tue, Apr 20, 2021 02:10 PM

用户您好,

这个 test.aspx 文件是属于您的 OneDrive 文件,访问时要在具有权限的前提下访问,例如登录您这个 OneDrive 文件所在的账号,才可以访问这个文件的数据。
https://i.imgur.com/QFGB84m.png
没有权限而直接去访问,是会提示登录的:
https://i.imgur.com/xzsb5U5.png
https://i.imgur.com/kSS2wFg.png
如果这个类型的文件(aspx)允许通过匿名链接进行对外共享,那么外部用户无需具有权限,直接就可以访问。但是由于微软很早之前就取消了公共网站(任何人都可以访问),虽然通过将 aspx 文件设置为主页的方式并通过匿名链接共享可以达到公共网站的效果,但是由于已经取消了公共网站,aspx 文件也是不可以通过匿名链接的方式对外共享的,综上目前是无法通过匿名链接的方式共享 aspx 文件的
https://support.microsoft.com/zh-cn/office/%E8%A6%81%E5%81%9C%E7%94%A8%E7%9A%84-sharepoint-%E5%85%AC%E5%85%B1%E7%BD%91%E7%AB%99-e86bfd2f-5c7d-446f-a430-7cfcc0130916?ui=zh-CN&rs=zh-CN&ad=CN
https://i.imgur.com/oCYi9WU.png
https://i.imgur.com/wFX8mf9.png
请问您对此工单是否还有其他疑问?谢谢。

------------------ Original ------------------
From: n0099 <[email protected]>
Sent: 2021 年 4 月 20 日 5:46

我删除所有文件后重新上传可以正常访问了,但如何让它可以被公网访问?现在不带 cookie 访问 https://n0099.sharepoint.cn/sites/test/Shared%20Documents/test.aspx 会重定向到 o365 登录页

------------------ Original ------------------
From: "n0099"<[email protected]>;
Date: Tue, Apr 20, 2021 05:01 AM

我已经执行过了 Set-SPOSite -Identity https://n0099.sharepoint.cn/sites/test -DenyAddAndCustomizePages $false
html 里没有任何注释标签,内容如下:

<html>
<head>
<title>test</title>
</head>
<body>
<div id="root"></div>
<script src="https://unpkg.com/react/umd/react.development.js"></script>
<script src="https://unpkg.com/react-dom/umd/react-dom.development.js"></script>
<script>
const e = React.createElement;

ReactDOM.render(
e('div', null, 'Hello World'),
document.getElementById('root')
);
</script>
<img src="https://placeimg.com/640/480/any/grayscale" />
</body>
</html>

但还是弹出浏览器下载

------------------ Original ------------------
From: "Gao Yuan3"<[email protected]>;
Date: Mon, Apr 19, 2021 04:47 PM

用户您好,

请问您对此工单是否还有其他疑问,是否可以关闭归档此工单?期待您的消息。

------------------ Original ------------------
From: Gao Yuan3
Sent: 2021 年 4 月 19 日 12:26

用户您好,

由于我们的技术支持范围不涉及开发,对这一部分接触也不是很多。
据我们了解,改 Set-SPOSite -Identity https://gytest.sharepoint.cn/sites/test -DenyAddAndCustomizePages $false 后,弹出下载文件可能是注释的问题,当 ASPX 文件中出现 HTML 的注释语言<!-- -->不是很多的时候,是可以允许一定的容错的,但是这种非标准的注释有很多的时候,就会有问题了。

您可以尝试将有问题的 ASPX 文件复制一份,然后将副本中所有的“<!—”替换成“<%--”,所有的“-->”替换成“--%>”,再上传此副本到云端来测试打开。
我这边测试可以在网页端直接打开了。
https://i.imgur.com/nbsyjWE.png
https://i.imgur.com/p9Jp6uH.png
https://i.imgur.com/5yOKWE5.png
修改之前
https://i.imgur.com/clAojOS.png

------------------ Original ------------------
From: n0099 <[email protected]>
Sent: 2021 年 4 月 17 日 14:57

我之前已经在 3.中说明了你们设置了 acao:* response header 就是为了允许跨域请求下载的,但忘了设置 options 请求所以无法响应需要 preflight 的跨域请求(在此是带 range 分段下载文件 header 请求会让浏览器触发 preflight )

刚才研究了下 spo 如何托管 htmljs:
https://techcommunity.microsoft.com/t5/sharepoint/open-html-files-in-browser-sharepoint-online/m-p/130620
https://docs.microsoft.com/en-us/sharepoint/dev/solution-guidance/security-permissivesetting
https://docs.microsoft.com/en-us/sharepoint/allow-or-prevent-custom-script
我已经用 management shell 执行了 Set-SPOsite <SiteURL> -DenyAddAndCustomizePages 0 ,但截至目前访问 spo 文档中的.aspx 文件仍然是弹出浏览器下载文件而不是浏览器显示 html

------------------ Original ------------------
From: "Gao Yuan3"<[email protected]>;
Date: Sat, Apr 17, 2021 08:31 AM

您好,

感谢您的回复。
设置/允许跨域请求数据,这个如果在本地 SPO 服务器上面应该是可以设置的,设置后浏览器 fetch OneDrive 的文件起码是能 promise 的,但是如果在 online 端,这些都是由后台的设置决定的,作为最终用户我们无法更改后台的设置,如果被 CORS policy 阻止,应该就是不可跨域,实在抱歉。

关于托管自定义 html js ,由于我们并非开发团队,平时主要处理的都是 SPO 使用上的问题,这个说实话平时也没怎么接触过这类问题,我找工作日时间和同事沟通了解一下再给您回复吧。

------------------ Original ------------------
发件人: n0099 <[email protected]>
发送时间: Saturday, April 17, 2021 7:16:16 AM
收件人: Gao Yuan3 <[email protected]>
抄送: office365support <[email protected]>; OTS_SPO <[email protected]>
主题: Re:SR_2021041390874_SharePoint 服务端不支持 method 为 OPTIONS 的浏览器 CORS preflight 请求

请问 sharepoint online 可以托管自定义 html js 吗?如果你们实在不愿意兼容 preflight 请求恐怕我只能直接托管到 sharepoint.cn 域上了

------------------ Original ------------------
From: "Gao Yuan3"<[email protected]>;
Date: Fri, Apr 16, 2021 04:47 PM

用户您好,

涉及到前端开发,以及跨域请求的问题,我这边也确实不是很了解,感谢您的理解。
https://www.21vbluecloud.com/office365/usersupport_o365/
https://i.imgur.com/YXyqyC7.png
对此类问题,我们所接触到的资源也很有限,无法给您提供更多信息,这个工单就给您关闭了。
如果您之后遇到与 O365 服务本身相关的问题,欢迎您再联系我们。
再次感谢您的理解。

------------------ Original ------------------
From: n0099 <[email protected]>
Sent: 2021 年 4 月 15 日 23:31

1.我知道这个问题属于自定义开发范围的问题,但你们解决这个问题并不困难,例如 iis10 中只需要改动几行配置即可实现: https://docs.microsoft.com/en-us/iis/extensions/cors-module/cors-module-configuration-referencehttps://blogs.iis.net/iisteam/getting-started-with-the-iis-cors-module
2.并不是我想要主动发 options 请求,而是浏览器为了检查服务端是否允许 cors (在这里是询问是否允许 range header ,也就是 Access-Control-Request-Headers: Range ),才去发送 preflight 请求,服务端应该返回具体允许的 cors 范围(在这里是 Access-Control-Allow-Headers: Range ),而不是 http405 或者你们所说的未支持 options method
https://i.imgur.com/bUZ1qyv.png
而且这个 405 响应中的 allow header ( https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Allow )也写了 options ,这与文档并不符
3.最开始我提到过“而在其他 GET 请求中 response header 中有设置 Access-Control-Allow-Origin: *,所以可以跨域请求”
例如
https://i.imgur.com/mofXcrC.png
只要 request header 中有 origin (不论值如何),response header 中都会有 access-control-allow-origin: *,也就是服务端允许来自任何域的 cors 请求,因此你们设计上是允许跨域请求此 api 的,但由于某些原因没有设置 preflight 请求的响应,导致需要 preflight 的 cors 请求无法进行

------------------ Original ------------------
From: "Gao Yuan3"<[email protected]>;
Date: Thu, Apr 15, 2021 07:57 PM

用户您好,

浏览器的请求机制,我这边也不是很了解,因为涉及到开发,对此类问题我们的支持也比较有限。
但是可以看到 OPTIONS 这个请求方式就是不支持的。

------------------ Original ------------------
发件人: n0099 <[email protected]>
发送时间: Thursday, April 15, 2021 7:35:17 PM
收件人: Gao Yuan3 <[email protected]>
主题: Re:SR_2021041390874_SharePoint 服务端不支持 method 为 OPTIONS 的浏览器 CORS preflight 请求

产品设计不支持 cors preflight 从而导致浏览器内无法跨域请求?

------------------ Original ------------------
From: "Gao Yuan3"<[email protected]>;
Date: Thu, Apr 15, 2021 10:51 AM

用户您好,

感谢您的回复,由于我们这边是 O365 云端服务的支持团队,技术支持限于 Office 365 在线服务本身的故障或使用方面的问题,如果涉及到自定义开发,对于浏览器的调用机制,我这边也不是很了解,对此类问题我们的支持也比较有限,非常感谢您的理解。
https://www.21vbluecloud.com/office365/usersupport_o365/
https://i.imgur.com/0A46B8s.png
以 user 为例,可以看到 OPTIONS 方法就是不被支持的,此限制为产品设计。
https://i.imgur.com/xhsknrS.png
GET 是可以的。
https://i.imgur.com/X6Cxg1E.png
请问您对该工单是否还有其他疑问?谢谢。

------------------ Original ------------------
From: n0099 <[email protected]>
Sent: 2021 年 4 月 14 日 16:54

但我需要在浏览器内调用 graph api ,而浏览器会发送 method 为 options 的 cors preflight 请求,这并不是我要发送的
如果浏览器通不过 preflight 就不会发出我实际要发出的 get 请求

------------------ Original ------------------
From: "Gao Yuan3"<[email protected]>;
Date: Wed, Apr 14, 2021 11:08 AM

用户您好,

OPTIONS 并不是我们常见的一个获取数据的方法,此方法可能就是不被支持的。
常用的方式是通过 Graph API 来获取数据,可以从官方文档中看到,也是只支持 GET 方法,没有 OPTIONS 方法
https://docs.microsoft.com/en-us/graph/use-the-api?view=graph-rest-1.0
https://i.imgur.com/edOBbrO.png
https://i.imgur.com/D5H8kgs.png

------------------ Original ------------------
From: Gao Yuan3
Sent: 2021 年 4 月 13 日 19:31

用户您好,

根据您对问题的描述,我谨在此阐述我们双方针对这个问题所涉及范围界定:

问题定义:需要在浏览器前端中使用 range header 下载部分文件内容,但由于 SharePoint 服务端对任何 options 请求都返回 405 导致浏览器无法通过 cors preflight 进而发出实际跨域请求,而在其他 GET 请求中 response header 中有设置 Access-Control-Allow-Origin: *,所以可以跨域请求
https://i.imgur.com/GdQSaty.png
https://i.imgur.com/fC0qxZz.png
问题范围:我们将协助您解决该问题,并将在该问题解决后关闭此工单。(不在 O365 技术支持范围内的问题除外)

接下来,我们将开始合作解决这个问题。如果您对以上的问题范围界定有任何异议,请尽快告知。如果您有其他任何疑问,也欢迎随时与我联系。

------------------ Original ------------------
From: Gao Yuan3
Sent: 2021 年 4 月 13 日 19:09

尊敬的 n0099 先生/女士 :
您好!感谢您联系世纪互联 Office 365 技术支持中心。我是 Office 365 技术支持工程师 Cowan ,很高兴有机会协助您处理问题! 您可以随时通过该工单号码 SR_2021041390874 与我们取得联系。
为了更好地保障技术支持工作的质量,请您在回复邮件时选择“回复所有人”。
感谢您的理解与支持,祝您工作顺利!
2024-09-07 18:43:14 +08:00
回复了 chenqh 创建的主题 问与答 如何快速恢复重启前的应用呢?
2024-09-07 17:41:53 +08:00
回复了 iqoo 创建的主题 程序员 分享一个空间利用率超高的 Base36 算法
2024-08-07 17:27:40 +08:00
回复了 shendaowu 创建的主题 MySQL 求写一段生成数据库测试数据的代码
首先 19 个月过去了阁下还在折腾这个 https://en.wikipedia.org/wiki/Many-to-many_(data_model) 关系的 https://en.wikipedia.org/wiki/Associative_entity ?并试图继续滥用`提前优化` https://z.n0099.net/#narrow/near/93295 思维精神?
/t/908231
/t/908246
/t/909074

> 要么就是写入过程可以暂停和恢复,这个应该是没法实现的吧?

why not? 合理假设您是在 https://en.wikipedia.org/wiki/Cunningham's_Law

> 分段写入也可以,通过参数决定写入多少

这跟前面的可暂停本质上是一样的

> 写入速度越快越好,最好可以最大化利用 SSD

建议直接`LOAD csv` https://dev.mysql.com/doc/refman/8.4/en/load-data.html
并在写入前后开关 redolog https://dev.mysql.com/doc/refman/8.4/en/innodb-redo-log.html#innodb-disable-redo-logging

> 最好是几天时间能写入一千万行吧。如果没必要的话更少也可以。

一千万行?一千万亿行!

---
```sql
CREATE TABLE tag_content_rel(
rel_id INT PRIMARY KEY AUTO_INCREMENT,
tag_id INT NOT NULL,
content_id INT NOT NULL);
```
为什么不`UNIQUE(tag_id, content_id)`?还是说您的确需要允许出现重复的`(tag_id, content_id)`对?

> 我猜如果位置是有规律的可能查询性能会更好

对于将 PK 用做 clustered index (详见 https://github.com/n0099/open-tbm/issues/48#issuecomment-2091811880 的`12.1`)的 mysql innodb storage engine 中的表`tag_content_rel`只有`PRIMARY KEY(rel_id, tag_id, content_id)`后才会符合您的假设
2024-04-19 07:17:52 +08:00
回复了 netabare 创建的主题 程序员 这年头,参与开源项目还要付费才能参加了吗
2024-01-18 05:42:34 +08:00
回复了 alexfarm 创建的主题 MySQL ON DUPLICATE KEY UPDATE 引起的死锁问题,求助一下
如果单独只看您发的那坨`SHOW ENGINE INNODB STATUS`deadlock detection log 的话那当时场景就是
session2 先执行因而持有着`(bid, sid, oid)`
```
RECORD LOCKS space id 270 page no 6338 n bits 352 index idx_bid_sid_oid of table db.tb trx id 7367656999 lock_mode X
Record lock, heap no 1 PHYSICAL RECORD: n_fields 1; compact format; info bits 0 0: len 8; hex 73757072656d756d; asc supremum;;
Record lock, heap no 13 PHYSICAL RECORD: n_fields 4; compact format; info bits 0
```
上的末端`(某值, +∞)`[`nextkey`]( https://dev.mysql.com/doc/refman/5.7/en/innodb-locking.html#innodb-next-key-locks)X 锁因为有[`hex 73757072656d756d; asc supremum`]( https://en.wikipedia.org/wiki/Infimum_and_supremum) https://dev.mysql.com/blog-archive/innodb-data-locking-part-2-5-locks-deeper-dive/

而后执行的 session1 也在尝试 acquire`(bid, sid, oid)=('444444', '555555', '666666')`上的 recordlockX 锁但由于其位于 session2 的`nextkey`X 锁范围中而等待
```
RECORD LOCKS space id 270 page no 6338 n bits 352 index idx_bid_sid_oid of table db.tb trx id 7367657071 lock_mode X waiting Record lock, heap no 13 PHYSICAL RECORD: n_fields 4; compact format; info bits 0
```

当 session1 在等待时 session2 也开始等待 PK (但下面的约束不是在`PRIMARY KEY (id)`上而是`INSERT`中的其他字段可能因为其是`AUTO_INCREMENT`AI 而您也没显式指定其值所以无法`WHERE`)`(bid, sid, oid, emark, amark, bmark, cmark)=('444444', '555555', '666666', '00', '00', '00', '00')`上的[recordlock(有`but not gap`)]( https://dev.mysql.com/doc/refman/5.7/en/innodb-locking.html#innodb-record-locks)X
```
RECORD LOCKS space id 270 page no 7273 n bits 88 index PRIMARY of table db.tb trx id 7367656999 lock_mode X locks rec but not gap waiting
[...]
3: len 25; hex 4f4243574830315a3032363631323032333132323241303536; asc 444444;;
4: len 10; hex 30313939373333303331; asc 555555;;
5: len 6; hex 363733353839; asc 666666;;
[...]
```
所以是互相等待对方而被 deadlock detection 并决定 rollback 后来的 session1 让 session2 先过
```
2023-12-28T19:00:05.140247+08:00 3180165 [Note] InnoDB: *** WE ROLL BACK TRANSACTION (1)
```
2024-01-18 05:18:42 +08:00
回复了 alexfarm 创建的主题 MySQL ON DUPLICATE KEY UPDATE 引起的死锁问题,求助一下
如果您能够修改逻辑避免在 sql 中用到`ON DUPLICATE KEY UPDATE`aka 您不是只能加索引调参优化的 dba 而是透过 orm 层层抽象隔离写 java 业务的 dev 那您也可以像您 at 我过来的那帖中那样换成`RC 事务隔离级别`+`SELECT ... WHERE unique 约束或 PK FOR UPDATE`产生`表级 IX 锁` https://github.com/n0099/open-tbm/issues/32#issuecomment-1401223094 对`SELECT`出既有的 record 来`UPDATE ... SET a|emark = ... WHERE unique 约束或 PK`再对不存在的 record 进行`INSERT`此时可以保证`INSERT`不会返回`ERROR 1062 (23000): Duplicate entry`因为此前的`SELECT ... FOR UPDATE`已经上了`表级 IX 锁` https://dev.mysql.com/doc/refman/5.7/en/innodb-locking.html#innodb-intention-locks 而此时其他`INSERT`需要`行级 X 锁`就会阻塞等待`表级 IX 锁`释放
> Before a transaction can acquire an exclusive lock on a row in a table, it must first acquire an IX lock on the table.
2024-01-18 05:03:48 +08:00
回复了 alexfarm 创建的主题 MySQL ON DUPLICATE KEY UPDATE 引起的死锁问题,求助一下
首先您 tb2 删漏了
```diff
CREATE TABLE `tb2` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`bid` varchar(38) NOT NULL,
`expire_time` datetime DEFAULT NULL,
`status` char(2) NOT NULL,
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
`update_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
- UNIQUE KEY `idx_name_list_batch_id` (`batch_id`),
+ UNIQUE KEY `idx_name_bid` (`bid`),
KEY `idx_name_list_expire_time` (`expire_time`),
- KEY `index_name_list_market_no` (`market_case_no`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
```
在 mysql8.0.35 下创建表后
```sql
INSERT INTO tb1(sid, bid, oid, status) VALUES(0, 1, 2, 3);
INSERT INTO tb2(bid, expire_time, status) VALUES(1, ADDDATE(NOW(), 2), 3);
```
默认 RR 事务隔离级别下
```sql
-- session1
START TRANSACTION;
insert into tb(bid, sid, oid, emark, amark, bmark, cmark, update_time) values ('444444', '555555', '666666', '00', '00', '00', '00', now()) ON DUPLICATE KEY UPDATE amark = values(amark), update_time = now();
-- 重复执行
ROLLBACK;
```
```sql
-- session2 您的`'2023-12-31 19:00:03.963'`我改成了`ADDDATE(NOW(), 3)`以便 reprod
START TRANSACTION;
insert into tb(bid, sid, oid, emark, amark, bmark, update_time) select tb1.bid, tb1.sid, tb1.oid, '10', '00', '00', now() from tb1 left join tb2 on tb1.bid = tb2.bid where tb2.expire_time < ADDDATE(NOW(), 3) and tb2.expire_time > now() and tb1.status IN ('2', '3') ON DUPLICATE KEY UPDATE emark = values(emark), update_time = now();
-- 重复执行
ROLLBACK;
```
不论两个谁先执行执行几次它们都不会等待 acquire 另一事务占有的锁
而在 RC 下
|session1|session2|
|-|-|
|`SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;`|Ibid.|
|`START TRANSACTION;`|Ibid.|
|`SHOW SESSION VARIABLES LIKE '%iso%'\G`|Ibid.|
|`insert into tb(bid, sid, oid, emark, amark, bmark, cmark, update_time) values ('444444', '555555', '666666', '00', '00', '00', '00', now()) ON DUPLICATE KEY UPDATE amark = values(amark), update_time = now();`||
||`insert into tb(bid, sid, oid, emark, amark, bmark, update_time) select tb1.bid, tb1.sid, tb1.oid, '10', '00', '00', now() from tb1 left join tb2 on tb1.bid = tb2.bid where tb2.expire_time < ADDDATE(NOW(), 3) and tb2.expire_time > now() and tb1.status IN ('2', '3') ON DUPLICATE KEY UPDATE emark = values(emark), update_time = now();`|
||等待 session1 释放某个锁|
|`ROLLBACK;`||
||继续执行并返回|

而如果 session2 先执行那后续它们以任意顺序执行都不会有等待
这可能是因为`tb`此时作为空表(`CREATE`后没有`INSERT`过) session1`INSERT`后需要表级锁以保证其他事务能够 RC (看到其刚`INSERT`的这行,但由于不是`READ UNCOMMITTED`RU 级别所以需要等待 session1`ROLLBACK`/`COMMIT`)
https://stackoverflow.com/questions/56434878/mysql-deadlock-using-an-index-with-a-new-value/56435470#56435470
> In an empty table, the place that the 1 would have been is "anywhere in the table" (or anywhere from the start to the "supremum" mentioned in the deadlock) - which is consequently gaplocked by the delete. The same is true for the 2. And those locks do not conflict each other by definition.

而在 session2 先`INSERT`后`tb`不是空表所以 session1 无需表级锁而可以在索引`idx_bid_sid`上锁`('444444', '555555')`,而 session2`INSERT SELECT`subquery 所返回行`(bid, sid)=(1, 0)`中也没有跟`('444444', '555555')`冲突因而无需`ON DUPLICATE KEY UPDATE`从而避免等待 session1 释放对那行的锁
所以您的`tb`表在 session1 执行`INSERT`时是空的吗?
2024-01-18 03:08:45 +08:00
回复了 n0099 创建的主题 程序员 如何从理论上避免这类并行任务交错执行时的冲突问题
2024-01-18 03:07:40 +08:00
回复了 alexfarm 创建的主题 MySQL ON DUPLICATE KEY UPDATE 引起的死锁问题,求助一下
2024-01-18 01:30:42 +08:00
回复了 alexfarm 创建的主题 MySQL ON DUPLICATE KEY UPDATE 引起的死锁问题,求助一下
事务 2`INSERT INTO tb SELECT ...`的 subquery
```sql
select tb1.bid, tb1.sid, tb1.oid, '10', '00', '00', now()
from tb1 left join tb2
on tb1.bid = tb2.bid
where tb2.expire_time < '2023-12-31 19:00:03.963'
and tb2.expire_time > now()
and tb1.status IN ('2', '3')
```
返回中有没有`(bid, sid, oid)`=`('444444', '555555', '666666')`的行?
2024-01-17 21:06:35 +08:00
回复了 alexfarm 创建的主题 MySQL ON DUPLICATE KEY UPDATE 引起的死锁问题,求助一下
https://ex.noerr.eu.org/t/908047#r_14219204
https://ex.noerr.eu.org/t/1005536#r_14219181

我的评价是:建议先大脑升级`最新最热最凶最恶`mysql8.2
#13 @netabare 建议直接使用四叶信安底层壬上壬上海贵族 FSF EFF 精神会员杨博文阁下 @yangbowen 最爱的 GPG PGP 包装信息
不适合首页上的登录墙内信息茧房:
https://i.imgur.com/nVk0RTK.png
这就是 v2 机场
什么讨论
1  2  3  4  5  6  7  8  9  
关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   3687 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 26ms · UTC 05:09 · PVG 13:09 · LAX 21:09 · JFK 00:09
♥ Do have faith in what you're doing.