MySQL - 各种超时时间 - 学习与探究

1.应用场景

主要用于学习与探究MySQL各种超时时间,应用在合适的场景下.

2.学习/操作

1.文档阅读

https://wen.geekr.dev/

chatgpt

& 官方文档

& 其他资料

2.整理输出

2.1 是什么

MySQL中有多个超时时间,以下是其中的几个:

  1. connect_timeout: 连接超时时间。它指的是连接 MySQL 服务器的客户端在规定时间内必须完成建立连接的动作,单位为秒。

  2. wait_timeout: 查询等待超时时间。它指的是当 MySQL 服务器在一定时间内没有接收到客户端任何请求时,就会主动关闭与客户端的连接,单位为秒。

  3. interactive_timeout: 交互式超时时间。它与 wait_timeout 的作用类似,不同点在于它只针对交互式工具(如 MySQL 命令行终端)的使用超时时间,单位为秒。

  4. net_read_timeout 和 net_write_timeout: 网络读写超时时间。这两个参数分别用于指定从 MySQL 服务器读取数据和向 MySQL 服务器写入数据的超时时间,单位为秒。如果在规定时间内没有完成读/写操作,则会关闭连接。

  5. lock_wait_timeout: 锁等待超时时间。该参数用于控制当某个 MySQL 事务在等待其它事务释放被锁定的资源时,最大等待的时间。

以上是 MySQL 中的几个超时时间,设置超时时间的主要目的是防止 MySQL 服务器因为客户端的不良行为(如长时间不使用建立连接)而出现性能问题。

2.2 为什么需要「应用场景」

MySQL之类的数据库设置各种超时时间,

主要是为了控制数据库的连接、查询和执行的时间,从而避免数据库资源被无限制地占用,避免出现类似死锁、卡死等异常情况

这些超时时间一般包括连接超时、查询超时、执行超时等,通过合理设置这些超时时间,可以提高数据库的稳定性和可靠性,也能够优化数据库的性能,提高数据库的响应速度。

2.3 什么时候出现「历史发展」

数据库连接超时、查询超时、执行超时等时间的设置在数据库的早期就已经出现了。

随着数据库的应用范围不断扩大,并且处理的数据量也越来越大,这些超时设置变得越来越重要。尤其是在高负载环境下,不合理的超时设置会导致数据库系统出现性能瓶颈,甚至崩溃。因此,对于数据库系统来说,合理设置超时时间是保证其稳定性、可靠性和高效性的关键。

2.4 怎么实践

1. 如何查看上面的超时时间

在 MySQL 中,您可以使用 SHOW VARIABLES 命令来查看当前 MySQL 实例中各种系统变量的值,也包括一些超时时间的相关配置。

例如,要查看 MySQL 实例中的 wait_timeout 和 interactive_timeout 参数的值,您可以使用下面的命令:

SHOW VARIABLES LIKE 'wait_timeout';
SHOW VARIABLES LIKE 'interactive_timeout';

这将返回类似于以下结果:

+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| wait_timeout | 28800 |
+---------------+-------++---------------------+-------+
| Variable_name | Value |
+---------------------+-------+
| interactive_timeout | 28800 |
+---------------------+-------+

类似地,您也可以使用命令查看其他超时时间参数的值。如果您不确定参数的名称,可以在命令中使用通配符 %。

SHOW VARIABLES LIKE '%timeout%';

最后,值得注意的是,SHOW VARIABLES 命令只会列出当前会话使用的参数值。如果您希望查看 MySQL 服务器上的全局参数值,您可以使用通用查询日志或者在 MySQL 配置文件中查看参数配置。

延伸问题

当前会话使用的参数值与服务器上的全局参数值有什么区别?

在MySQL中,有两种类型的系统变量:会话级变量和全局级变量。

会话级变量是会话(连接)特定的变量。也就是说,每个MySQL 连接都可以拥有自己的参数配置。当连接MySQL实例时,MySQL会话会继承全局变量的默认值,但如果连接的时候设置了某个参数的值,该值将覆盖全局默认值,直到连接关闭。

全局级变量是指对于整个MySQL实例(即服务器)都是相同的设置。这些变量是指定MySQL服务器的默认行为,并在会话连接以前进行配置,对于启动后产生的所有连接均有效。

当使用 SHOW VARIABLES 命令来查询系统变量和参数,查询结果中的值要么是当前会话(连接)使用的参数值,要么是全局参数的值。

如果当前MySQL连接没有指定一个参数值,则该参数值将从全局级别获取。如果当前MySQL连接指定了一个参数值或更改了基本配置,那么该值将覆盖全局值,同时只会影响当前会话。这就是MySQL会话级变量与全局级变量的主要区别。

举一反三:

还有哪些服务,软件,系统也提供了相同或类似的特性

像 MySQL 这样的服务、软件和系统在其配置中提供了许多不同类型的特性来调整其行为。

以下是一些示例:

  1. Apache HTTP Server:与MySQL类似,Apache HTTP Server支持许多不同类型的设置和配置,可以通过编辑配置文件来进行调整。例如,可以配置 KeepAliveTimeout 参数来指定与客户端建立的连接在空闲时间段后关闭的时间。

  2. Nginx:Nginx也是一种广泛使用的Web服务器,支持各种设置和调整,可用于改善性能和安全。例如,可以使用 client_body_timeout 和 client_header_timeout 参数来控制对客户端请求超时后执行的操作。

  3. Linux 系统:许多Linux发行版和内核提供了许多可调整的系统参数。例如,可以设置 sysctl 参数来调整内核 TCP/IP 闲置超时时间。

  4. 网络设备:诸如防火墙、负载均衡器和路由器等网络设备也通常提供许多不同类型的设置和配置,用于调整其行为和性能。例如,可以设置 NAT 超时时间限制以管理出站连接的生命周期。

总之,许多不同的服务、软件和系统都提供了可调整的特性或参数,用于优化其性能、安全性或其他方面的行为。这些特性通常在其相应的文档中进行记录,并且可以通过编辑配置文件或管理界面进行调整。

2. 如何修改这些超时时间

方式一:通过会话连接进行设置【只是针对当前会话】

方式二:通过全局配置进行设置,即mysql服务器配置文件 【针对所有连接】

不过优先级:会话配置 > 全局配置

3. navicat连接mysql用到了哪些超时配置?

Navicat是一个跨平台的数据库管理工具,可以连接MySQL数据库,其中涉及几个超时配置,如下所示:

  1. 连接超时时间:它指连接MySQL服务的客户端在规定的时间内必须完成建立连接的动作,单位为秒。默认的 Navicat 连接超时时间为 30 秒,如果您需要更改它,可以在“连接参数”窗口的“高级”选项中进行设置。

  2. 查询等待超时时间:它指当MySQL服务器在一定时间内没有接收到客户端任何请求时,就会主动关闭与客户端的连接,单位为秒。Navicat的默认查询等待超时时间为0(没有超时限制),如果需要更改它,可以在“连接参数”窗口的“高级”选项中进行设置。

  3. 读取数据超时时间和写入数据超时时间:当从数据库读取或写入数据时,Navicat 还使用两个超时配置。这些超时时间默认为0(没有超时限制),但您可以在“链接属性”窗口中的“SSH”选项卡下设置这些配置。

需要注意的是,这些超时配置可以因MySQL数据库版本、网络环境和服务器负载而有所不同。因此,您可以根据实际情况来调整这些超时时间的值。

 不过这里并没有找到,tbd

过了一天,navicat提示丢失连接,是什么情况?如何解决?

问题表现

4031 - The client was disconnected by the server because of inactivity. See wait_timeout and interactive_timeout for configuring this behavior.

其实从上面的弹窗⚠️上已经知道,要修改 wait_timeout & interactive_timeout.

如果Navicat在连接MySQL后不久就提示连接丢失,这可能是由于超时配置或网络问题引起的。下面是一些可能的解决方法:

  1. 检查超时配置:这可能是连接丢失的常见原因之一。Navicat使用连接、查询、读取和写入超时等参数来管理连接,如前面所提到的。可以尝试增加这些超时值或设置为“0”来禁用它们,确保连接不会在非常短的时间内关闭。

  2. 检查MySQL服务器配置:如果检查Navicat的超时配置没有问题,可以检查MySQL服务器的配置文件(如my.cnf)是否有超时限制。MySQL的默认wait_timeout和interactive_timeout设置为8小时,如果MySQL服务器更改为较短的时间,这也可能是导致Navicat失去连接的原因之一。在这种情况下,将服务器配置更改回默认值可能会有所帮助。

  3. 检查网络连接和负载:如果Navicat提示连接丢失,可能是由于网络问题或MySQL服务器的负载过高而造成的。检查网络连接是否不稳定、网络延迟是否过高以及MySQL服务器的负载情况等,并尝试重新连接。如果网络连接不稳定,可能需要进行更改或升级以提高质量。

  4. 升级Navicat:如果Navicat版本比较旧,可能存在某些已知问题,通过升级Navicat软件的版本,有可能解决该问题。在升级之前建议先备份Navicat的配置和数据。

总之,Navicat提示“连接丢失”的问题可能是由于超时配置、MySQL服务器配置、网络问题或软件问题引起的。需要根据具体情况来进行排查和解决。

3. wait_timeout 和 interactive_timeout 的区别 举例解释

wait_timeout 和 interactive_timeout 都是 MySQL 中的超时时间。

它们之间的区别在于:wait_timeout 只是指定当 MySQL 服务器在一定时限内没有收到任何客户端请求时关闭该连接,而 interactive_timeout 则指定了当 MySQL 处于空闲状态时关闭连接的时间。

举个例子来说明两者之间的区别。

比如有一个 MySQL 客户端正在通过 Navicat 连接到 MySQL 服务器处理任务。该客户端的连接到达 MySQL 服务器之后,开始执行一些查询和操作,期间不断向服务器发送请求。如果在特定时间(由 wait_timeout 参数设置)之后,客户端没有向 MySQL 服务器发送任何请求,MySQL 服务器会自动关闭该连接。这适用于非交互式会话,例如脚本或程序中的 MySQL 连接。

相比之下,interactive_timeout 更多用于交互式会话,例如通过 MySQL 的命令行界面或 Navicat 等工具连接 MySQL 服务器。这些工具通常会维持一个连接,在用户通过该连接执行输入的查询字符串或指令,完成查询、数据修改等任务。在用户输入查询字符串或指令后,如果达到 interactive_timeout 参数设置的时间,而 MySQL 没有收到任何用户请求,则 MySQL 会在空闲时间到期后关闭这个连接。

需要注意的是,默认情况下,MySQL 的 interactive_timeout 和 wait_timeout 参数的值是相同的,都是 28800 秒(8 小时),可以在 MySQL 的配置文件或 MySQL 客户端中进行设置和修改。

如果在进行 MySQL 相关的开发或管理时,需要经常使用 MySQL 命令行或 Navicat 等工具,那么需要对 interactive_timeout 参数进行适当的调整,以便避免在交互过程中突然丢失连接。

问题扩展

Navicat常规连接mysql使用的是wait_timeout 还是 interactive_timeout?

Navicat 使用的是 wait_timeout 而不是 interactive_timeout。

wait_timeout 是 MySQL 中控制当 MySQL 服务器在一定时间内没有收到任何客户端请求时关闭该连接的超时配置,单位为秒。默认情况下,wait_timeout 的值是 8 小时,或者在 MySQL 配置文件 my.cnf 中设置为其它的值。当 Navicat 连接 MySQL 服务器时,会根据 wait_timeout 参数的设置对连接进行超时检测,如果在规定时间内(默认 8 小时)Navicat 没有向 MySQL 服务器发送任何请求,那么 MySQL 服务器就会关闭与 Navicat 的连接并回收相关资源。

需要注意的是,Navicat 的超时限制不同于 Interactive_timeout 的超时限制。Interactive_timeout 通常用于控制交互式会话的超时时间,例如 MySQL 的命令行界面等。

Navicat 作为一款图形界面工具,更适合用 wait_timeout 来控制超时时间,因此使用的是 wait_timeout。

总之,无论是 wait_timeout 还是 interactive_timeout,都是 MySQL 中常用的控制超时的参数,其应用场景和作用略有不同。在使用 Navicat 连接 MySQL 数据库的过程中,应该了解和适当调整这些超时参数值以避免连接过早失效。

Navicat常规连接MySQL使用的是wait_timeout,而不是interactive_timeout,因为MySQL对于连接和交互的操作,分别设定了这两个超时参数。

wait_timeout指定了MySQL在等待客户端发送数据的时间。如果客户端在这段时间内没有发送数据,MySQL会自动关闭连接。wait_timeout的默认时间是8小时(28800秒)。

interactive_timeout指定了MySQL与客户端之间的交互超时时间。如果客户端在这段时间内不发送新的数据,MySQL则终止连接。这个超时时间同样是默认设置为8小时(28800秒)。

Navicat在连接MySQL服务器时,会对连接进行一系列的操作和交互,这时会受到wait_timeout的影响,如果超过wait_timeout的时间,MySQL就会关闭连接。而在连接之后的交互过程中,受到interactive_timeout的限制,如果超过这个时间,MySQL同样也会关闭连接。

Navicat的命令列界面使用的是wait_timeout 还是 interactive_timeout?

Navicat 并不提供自己的命令行界面,因此,在使用 Navicat 的命令行界面(如 Navicat Premium Essentials 中的 Query 菜单)时,实际上使用的是 MySQL 的命令行界面(mysql)。

因此,任何适用于 MySQL 的超时参数配置都会应用于 Navicat 的命令行界面。

默认情况下,MySQL 的 interactive_timeout 和 wait_timeout 参数的值是相同的,即 8 小时(或在 my.cnf 文件中设置的其他值)。这意味着,如果您使用 Navicat 的命令行接口,则默认情况下使用的是 wait_timeout 而不是 interactive_timeout。这是指当连接到 MySQL 数据库的客户端在一段时间内没有使用连接时,MySQL 服务器将自动关闭与该客户端的连接。

需要注意的是,在 MySQL 命令行界面中,您可以通过输入以下命令修改 interactive_timeout 的值,以控制 MySQL 命令行界面的交互可能的超时时间:

SET GLOBAL interactive_timeout = 3600; -- 将 interactive_timeout 值设置为 1 小时(3600 秒)

当然,此处所做的更改仅影响当前的 MySQL 会话,不会影响任何其他会话或全局 MySQL 配置。

总而言之,Navicat 的命

MySQL自带的命令行工具mysql,使用的是wait_timeout 还是 interactive_timeout?

MySQL自带的命令行工具mysql,使用的是interactive_timeout而不是wait_timeout,两者的含义略有不同:

wait_timeout指定了一个连接在空闲状态下可以保持多长时间,若超过这个时间,连接就会自动断开。这个时间比较短,通常是几秒钟到几分钟。wait_timeout的默认值为28800秒(8小时)。

interactive_timeout则是指定一个连接在空闲状态下可以保持的时间(单位为秒),等于或小于wait_timeout。interactive_timeout的默认值为28800秒(8小时)。如果客户端工具一直保持与MySQL的连接,并且空闲时间不超过interactive_timeout,那么与MySQL的连接就一直保持,不会被断开。

因此,对于mysql命令行工具,如果一直与MySQL保持连接,并发送交互式的命令,则会使用interactive_timeout。如果连接空闲,则可能会在wait_timeout时间内关闭连接。

Navicat的命令列界面console使用的是wait_timeout 还是 interactive_timeout?

Navicat的命令行界面console也使用的是 interactive_timeout,而不是 wait_timeout。这个timeout与MySQL服务器的interactive_timeout的设定参数相关。当客户端不再向服务器发送指令时的等待时间超过interactive_timeout时,服务器会自动关闭连接,因此这个timeout也称为连接超时。interact_timeout默认的时间是8小时(28800秒),但是也可以根据需要进行修改。在Navicat的console界面使用时,同样会受到interactive_timeout的限制,连接会在idle状态下被超时关闭,避免数据库连接资源被长时间占用。

 

如果MySQL 的配置文件和MySQL 客户端中都设置超时时间,哪个配置生效?

如果MySQL配置文件和MySQL客户端中都设置了超时时间,那么以MySQL客户端中配置的超时时间为准。这是因为MySQL客户端中配置的超时时间会优先覆盖MySQL配置文件中的设置。【这也是会话级变量优先与全局级变量,不然就没意义了

也就是说,在MySQL客户端中进行的超时时间配置是局部配置,只对当前的客户端生效,而在MySQL配置文件中进行的超时时间配置是全局配置,适用于所有的客户端。如果二者设置不一致,MySQL客户端会优先使用自己的超时时间配置。因此,在实际中应该根据具体情况进行超时时间的设置,避免造成不必要地资源浪费或者连接异常。

4. mysql中wait_timeout和interactive_timeout等超时是如何检测的?

MySQL中的wait_timeout和interactive_timeout是通过MySQL服务器来检测的具体实现使用TCP keep-alive机制。当MySQL服务器连接的客户端小于等于wait_timeout的值时,服务器会定期发送一个特殊的TCP keep-alive消息给客户端,如果客户端没有响应,则认为该客户端已经断开连接,将该连接关闭掉。通过定期发送TCP keep-alive消息,可以避免因为某些原因客户端没有正式关闭连接而一直占用MySQL服务器资源的情况。

MySQL的 interactive_timeout 的检测方式和wait_timeout类似,只不过检测的对象是连接上发生的交互,如果一段时间内没有交互,则会自动关闭连接。

需要注意的是,这两个超时时间的时间参数是在MySQL服务器上设置的,超时的触发是在MySQL服务器端进行的,而不是在客户端。在客户端,可以通过连接状态(状态码)来得知连接是否已经被服务器端关闭。

后续补充

...

3.问题/补充

TBD

后续补充

...

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/9787.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

大语言模型 AI 辅助编码使用过程体验报告(Github Copilot、Cursor)

编码感受和评估 在过去一周多的时间里,我在 ChatGPT 的协助下,生成了做一个简单编辑器的产品文档、技术方案文档,然后在这个基础上,进行程序的编码。 使用的工具纪要 为了更全面地感受 AI IDE 对研发过程的影响,我特…

产品设计师使用ChatGPT的十大妙招

掌握ChatGPT 提示列表,将大大提高产品设计师的效率。 微信搜索关注《Java学研大本营》,加入读者群,分享更多精彩 OpenAI 的 ChatGPT 无处不在,人们将其用于各种各样的事情,从作业作弊到构建产品。最近开始使用 ChatGPT 来摆脱空白…

postman接口报文返回:系统异常

场景:在做python脚本参数化时,同样的请求报文,在postman里可以发送成功,但是发给同事做自动化跑接口时,却返回"系统异常"。 今天在做Jmeter时,发现又出现了同样的问题。 原因:因为没…

postman能请求到后端接口,.HttpMessageNotReadableException: I/O error while reading input message; nested exce

postman能请求到后端接口,.但是前端发送请求,怎么请求,后端接口都没响应.... 前端项目是vue-element-admin 报错信息: HttpMessageNotReadableException: I/O error while reading input message; nested exception is org.apache.catalina…

关于POST发送数据过大,发送请求发生错误问题的原因及办法。

问题来自于生产的一个批量处理提交操作,当POST请求提交的数据量过大时,就会产生错误,发生例如:超时、504等等现象。惊讶之余,并不着急解决BUG,更想弄清楚为什么POST请求会出现这种情况,第一反应…

使用postman发送post请求,却报错不支持get请求的原因

场景复现 可以看到我们postman发出的确实是post请求,message却报错这个接口不支持get请求,说明服务器实际上收到的是一个get请求。 产生原因分析 如果我们访问的是线上的接口,线上的nginx一般都会对http访问做一个302重定向,跳转…

postman,浏览器测试接口正常,HttpClient 调用就报错

一次奔溃的经历 事情是这样的:第三方提供了一个接口需要对接,我就对接了,测试环节的时候怎么都调不通,各种排查,各方人员都动员了起来,就是没有找到问题,下面把问题报错的原因呈上: …

基于Sanic(Python)和ChatGPT的超级简易聊天应用

文章目录 一、项目简介:二、代码结构:三、具体代码:main.pytemplates/index.htmlstatic/css/custom.cssstatic/js/custom.js 四、使用方法:1. 安装依赖:2. 在main.py中替换自己的openai_key3. 运行项目:4. 打开浏览器&…

如何评价OpenAI的超级对话模型ChatGPT?

Trinkle回答: 有幸参与ChatGPT训练的全过程。直接上想法: RLHF会改变现在的research现状,个人认为一些很promising的方向:在LM上重新走一遍RL的路;如何更高效去训练RM和RL policy;写一个highly optimized R…

2019美研计算机录取,2019美研录取更新 | 春节OFFER大集锦,没有比OFFER更好的新年礼物了!...

原标题:2019美研录取更新 | 春节OFFER大集锦,没有比OFFER更好的新年礼物了! 嗨,春节有比收到红包更让人激动的事儿吗? 有!比如收到OFFER! 继二月初惊喜地收获两枚斯坦福大学的硕士录取后, 过去的…

美研计算机案例,[04.23]公开课丨美研计算机专业分享,让你进军米国IT届

【4.23公开课】美研计算机专业分享,让你进军米国IT届 活动类型:线上活动 开始时间:2015-4-23 20:00 活动地点:天道公开课交流群274304450 性别要求:不限 如今申请赴美读研的人越来越多,一方面美国著名大学的研究生院占据了世界高校专业排名前列的半壁江山…

2019美研计算机录取,2019美研录取更新 | 哥伦比亚大学、芝加哥大学OFFER携手来袭...

原标题:2019美研录取更新 | 哥伦比亚大学、芝加哥大学OFFER携手来袭 福 临近春节 集五福活动又双叒叕来了 福气满满的日子里 连OFFER雨都密了起来!!!!!!!! 今天第一个要恭喜的是来自上海交通大学的L同学 跨学科申请收获哥伦比亚大学公共卫生专业及芝加哥大学生物医学…

2019美研计算机录取,2019美研录取更新 | 又到周五,是时候晒OFFER了!

原标题:2019美研录取更新 | 又到周五,是时候晒OFFER了! 又到周五! 捂了几天的OFFER们 是时候挑一些拿出来晒晒了。 【今日OFFER雨重点预告】 宾夕法尼亚大学博士全奖录取一枚 佐治亚理工学院博士全奖录取一枚 约翰霍普金斯大学硕士…

商汤版ChatGPT「商量」来了,开放API!

国产ChatGPT之战,已然是大步迈进白热化阶段。 就在刚刚,商汤正式发布自研类ChatGPT产品,名曰商量(SenseChat)。 单单是这个名字,便值得说道一番。 商量的“商”,不仅体现了它是商汤自家“商字辈…

一加(oneplus)7 pro刷nethunter与Linux 下刷新版Android 9(P)手机(root)

在三年前我买了op3就为了刷nh,三年后我又买了一加,然而以为nh不怎么更新了就没想着要去刷。昨天看私信就突然去看了一眼,发现居然有op7/7p的刷机包,结果果断刷了(不能白瞎这12GB的内存啊)。 总体上来说nh的…

ChatGPT露馅了,它明明就是人

让人工智能理解句子成分和语义,这看起来是件不可能的事,看过流浪地球的都知道,那里面的人工智能哪怕发展到2057年,也听不懂比喻和反问。 那最近大火的chatGPT能不能听懂冷笑话呢?它不仅能写代码、论文,居然…

ChatGPT是有点中文在身上的:鲁迅、脱口秀甚至世界杯…都被玩宕机了

各大社交平台,最近突然掀起了一股晒聊天记录的热潮。 对方是个有求必应的角色,让它扮演虚拟女友、写论文、编请假理由,通通满足要求。 这中文能力、沟通技巧、知识水平……直接引得网友一水儿“牛X、无敌”。甚至有人说,强得令人…

短视频文案怎么写?优质短视频文案写作技巧

抖音短视频的质量仔细推敲起来确实会涉及到非常多的因素,但真正决定你视频曝光的关键就是视频文案,从剧情的铺垫、冲突、反转,这在一定程度上能够吸引不少的观众。 又或者小说开篇要么叙述宏达的故事背景,要么制造悬念。否则很难让…

快速提取视频中的文案字幕,短视频创作者必看

你会写短视频文案吗? 有没有被那几十个字绞尽脑汁? 当今众多短视频爱好者进行作品制作时,会大量借鉴同类型短视频文案,需要用到视频中的字幕,那么怎么把视频里的字幕提取出来呢? 你可能说,这不…

五大爆款单视频开头,学会做短视频很轻松

就短视频目前的现状而言,内容同质化高,内卷严重,好的开头是成功的一半。可以说,5秒完播率决定流量大小 。 这珍贵的5秒开头,就叫钩子开头,直接把走过路过的观众钩住。 当然,想要视频起量&…