use*_*026 222 mysql sql database mysql-workbench
我得到了错误代码:2013.当我尝试使用MySQL Workbench向表添加索引时,在查询错误期间丢失了与MySQL服务器的连接.我还注意到每当我运行长查询时它就会出现.
有没有增加超时值?
小智 424
新版本的MySQL WorkBench可以选择更改特定的超时.
对我来说,它是在编辑→首选项→SQL编辑器→DBMS连接读取超时(以秒为单位):600
将值更改为6000.
同样取消选中限制行,因为每次我想搜索整个数据集时都会设置限制.
Har*_*rti 24
如果您的查询包含blob数据,则可以通过应用此答案中建议的my.ini更改来解决此问题:
[mysqld]
max_allowed_packet=16M
Run Code Online (Sandbox Code Playgroud)
默认情况下,这将是1M(允许的最大值为1024M).如果提供的值不是1024K的倍数,它将自动舍入到1024K的最接近倍数.
虽然引用的线程是关于MySQL错误2006,但设置max_allowed_packet从1M到16M 确实修复了在运行长查询时出现的2013错误.
对于WAMP用户:您将在该[wampmysqld]部分找到该标志.
小智 14
将以下内容添加到/ etc/mysql/cnf文件中:
innodb_buffer_pool_size = 64M
Run Code Online (Sandbox Code Playgroud)
例:
key_buffer = 16M
max_allowed_packet = 16M
thread_stack = 192K
thread_cache_size = 8
innodb_buffer_pool_size = 64M
Run Code Online (Sandbox Code Playgroud)
小智 14
据我了解,这个错误是由于默认值是 4M 引起read timeout的max allowed packet。如果您的查询文件超过 4Mb,则会出现错误。这对我有用
2. 通过编辑文件手动更改 max_allowed_packet my.ini。如需编辑,请转至"C:\\ProgramData\\MySQL\\MySQL Server 8.0\\my.ini". 该文件ProgramData夹是隐藏的,因此如果您没有看到,请在视图设置中选择显示隐藏文件。设置max_allowed_packet = 16Minmy.ini文件。\n3. 重新启动 MySQL。要重新启动,请转至win+ R -> services.msc并重新启动 MySQL。
小智 11
SET @@local.net_read_timeout=360;
Run Code Online (Sandbox Code Playgroud)
警告:当您在远程连接中应用它时,以下内容将不起作用:
SET @@global.net_read_timeout=360;
Run Code Online (Sandbox Code Playgroud)
此错误消息可能有三种原因
有关详细信息, 请阅读>>
原因2:
SET GLOBAL interactive_timeout=60;
Run Code Online (Sandbox Code Playgroud)
从默认值30秒到60秒或更长时间
原因3:
SET GLOBAL connect_timeout=60;
Run Code Online (Sandbox Code Playgroud)
就我而言,将连接超时间隔设置为 6000 或更高的值不起作用。
我只是做了工作台说我可以做的事情。
查询从 DBMS 返回数据所需的最长时间。设置 0 以跳过读取超时。
在 Mac Preferences -> SQL Editor -> Go to MySQL Session -> 将连接读取超时间隔设置为 0。
它有效
只是对MySQL等的正常运作所需的许多表的重建以及执行MySQL的升级,将重新构建InnoDB引擎performance_schema,information_schema等等.
从shell发出以下命令:
sudo mysql_upgrade -u root -p
Run Code Online (Sandbox Code Playgroud)
小智 7
有时你的 SQL-Server 会陷入死锁,我已经遇到过这个问题 100 次了。您可以重新启动计算机/笔记本电脑来重新启动服务器(简单的方法),或者您可以转到任务管理器>服务>您的服务器名称(对我来说,它是 MySQL785 类似的东西)。然后右键单击>重新启动。尝试再次执行查询。
我知道它很旧,但在 mac 上
1. Control-click your connection and choose Connection Properties.
2. Under Advanced tab, set the Socket Timeout (sec) to a larger value.
Run Code Online (Sandbox Code Playgroud)
如果您在还原大转储文件期间遇到此问题,并且可以排除与网络有关的问题(例如在本地主机上执行),那么我的解决方案可能会有所帮助。
我的 mysqldump 至少保存了一个对 mysql 来说太大而无法计算的 INSERT。您可以通过show variables like "net_buffer_length";在 mysql-cli 中键入来查看此变量。你有三种可能:
--skip-extended-insert,每个插入使用一行 -> 虽然这些转储更好读,但这不适合 > 1GB 的大转储,因为它往往很慢--net-buffer_length NR_OF_BYTES其中 NR_OF_BYTES 小于服务器的 net_buffer_length -> 我认为这是最好的解决方案,虽然速度较慢,但不需要重新启动服务器。我使用了以下 mysqldump 命令:
mysqldump --skip-comments --set-charset --default-character-set=utf8 --single-transaction --net-buffer_length 4096 DBX > dumpfile