Yog*_*oga 5 mysql mysqldump mysql-5.5
如果您查看示例配置,例如/usr/share/mysql/my-large.cnf
,您会发现..
[mysqld]
max_allowed_packet = 1M
[mysqldump]
max_allowed_packet = 16M
Run Code Online (Sandbox Code Playgroud)
重点是什么?
因为当您使用mysqldump
with导出转储时max_allowed_packet
,可能无法成功导入到当前的 mysql?例如/sf/ask/6518991/
该max_allowed_packet
变量限制单个结果集的大小。在该[mysqld]
部分中,任何正常连接只能1M
在单个查询中获取有价值的数据。您mysqldump
通常会生成“扩展 INSERT”查询,其中在同一命令中列出多行INSERT
。那么,最好将此变量设置为高。
以上是简单的解释。现在,至于你的问题“有什么意义?” ——没有明确的答案。这my-XXXXX.cnf
组文件早已过时,并且存在问题,包括通常未达成一致的建议(例如应分配给 的内存量innodb_buffer_pool_size
)。因此,将其作为一般起点。特别是,这些设置与可用内存(例如 RAM)非常低的系统相关128M
,因此这些数字并不真正适用于当今的硬件。
有人可能会争辩说,您不一定会将转储导入到同一台服务器中,因此可以将转储导入到具有更高设置的另一台服务器中max_allowed_packet
。
作为旁注,我通常设置max_allowed_packet
为非常高的值,例如32M
或64M
。与其他变量(如 )相反sort_buffer_size
,max_allowed_packet
您只需支付您需要的费用。64M
因此,如果不需要,连接将不会分配完整空间。
限制1M
意味着您可能有一些行带有某些TEXT
或BLOB
,可能大于1M
,在这种情况下,您实际上无法读取该行。
归档时间: |
|
查看次数: |
11639 次 |
最近记录: |