mysql - MariaDB 命令行在一段时间后停止响应
问题描述
我正在运行 MariaDB 的 (version: Ver 15.1 Distrib 10.3.12-MariaDB
)mysql
命令来与数据库交互。我一天要多次使用它,所以我只是让运行该控制台的窗口保持打开状态,并在需要时返回它。
问题是,在我闲置一段时间后(比如说 1 小时),当我回到控制台窗口时,它完全没有响应。我输入命令并且没有得到任何反馈,甚至没有错误 - 控制台已经死了。
我认为这是一些超时,在一段时间不活动后会终止连接。
我该如何解决?
- 有没有办法禁用该行为(超时)?
- 有没有办法让控制台至少打印一些错误消息和 qui 而不是死?
- 有没有办法让控制台即使在失去连接后也能自动连接?
解决方案
有没有办法禁用该行为(超时)?
禁用很可能是个坏主意,如果应用程序没有关闭连接,则连接保持活动状态。
当达到 max_connections 限制时,它甚至可能禁止来自普通 MySQL 用户的连接,我相信具有 SUPER 权限的 MySQL 用户仍然能够连接。
您可以使用
SET SESSION wait_timeout = 28800
用于 SQL IDE 的连接
对于 shell/console mysql 应用程序
mysql [options] --wait-timeout=28800
哪个设置wait-timeout
在 MySQL 的默认配置关闭 8 小时,请参阅手册
推荐阅读
- javascript - 使用 Javascript 或 JQuery 从唯一附加选择器中获取值
- typescript - 如何正确键入泛型函数的参数?
- angular - Angular 6:未捕获(承诺):错误:StaticInjectorError(AppModule)[RoleGuardService]
- excel - 除非附加了调试器,否则 Excel 加载项性能不佳
- javascript - 通过 JavaScript 使用 Canvas,如何使圆圈移动到单击它的位置?
- c# - 尝试使用我的访问数据库更新我的 GridView 的 sum num 有问题
- asp.net - 在 Kendo Chart MVC 中格式化图例
- android - React Viro,单击很长时间以释放
- c# - 在多个元素之后添加 XML 元素
- objective-c - Dealloc NSString 导致崩溃