- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
在开发服务器上,我尝试运行我使用了将近一年的相同脚本,最后得到:mysqldump: Got errno 32 on write
上周,IT 系统管理员刚刚将虚拟服务器恢复到备份前几天,一切正常。
Drupal 安装很好,实时服务器也很好(开发服务器的副本)...我们在同一个机器上大约有 30 个虚拟服务器,IT 系统管理员分配了很多资源。
这是我在开发中使用 df -h 得到的结果:
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 18G 6.1G 12G 36% /
udev 1000M 4.0K 1000M 1% /dev
tmpfs 403M 228K 403M 1% /run
none 5.0M 0 5.0M 0% /run/lock
none 1007M 0 1007M 0% /run/shm
/dev/sdb1 100G 8.1G 87G 9% /data
xxxx@dev1:~$
以及在命令行中运行我的脚本后的基本输出:
ERROR 1005 (HY000) at line 5416: Can't create table 'content_type_ses_job_postings' (errno: 28) mysqldump: Got errno 32 on write ERROR 2003 (HY000): Can't connect to MySQL server on '198.xx.xx.xx' (111) LDAP server IP updated.
请注意,我得到最后一个 ERROR 2003
关于未连接到 MySQL 服务器的信息,即使一切正常,所以虽然这不应该发生,但我认为这更多的是用户问题,因为数据库备份,保存,然后导入到 'holding' 数据库,然后我在更新内容时切换到它,所以也许这就是问题,但这从来都不是一个特定的问题。
如果error 32
与空间有关,空间问题可能出在哪里?如果它与权限有关,权限问题会出现在哪个文件夹上?但是,我不知道如何或什么可以动态更改任何地方的权限...我之前说过,我已经运行这些脚本大约 8 个月没有问题?
开发服务器的基础知识
最佳答案
看起来很奇怪
[root@*****]# perror 28
OS error code 28: No space left on device
[root@*****]# perror 32
OS error code 32: Broken pipe
由于 mysqldump 总是在随机的地方中断,它与空间有关,并且没有磁盘满的情况,我会怀疑更深层次的问题:MySQL 数据包。什么是 MySQL 数据包?
这里是第 1-3 段解释它:
MySQL network communication code was written under the assumption that queries are always reasonably short, and therefore can be sent to and processed by the server in one chunk, which is called a packet in MySQL terminology. The server allocates the memory for a temporary buffer to store the packet, and it requests enough to fit it entirely. This architecture requires a precaution to avoid having the server run out of memory---a cap on the size of the packet, which this option accomplishes.
The code of interest in relation to this option is found in sql/net_serv.cc. Take a look at my_net_read(), then follow the call to my_real_read() and pay particular attention to net_realloc().
This variable also limits the length of a result of many string functons. See sql/field.cc and sql/intem_strfunc.cc for details.
鉴于此解释,批量插入将相当快地加载/卸载 MySQL 数据包。当 max_allowed_packet 对于给定的数据负载来说太小时尤其如此。
我之前写过这个:MySQL server has gone away obstructing import of large dumps
尝试提高 max_allowed_packet for the mysqldump到1G
如下:
mysqldump --max-allowed-packet=1073741824 ...
并尝试 mysqldump。
如果不这样做,那么这样做:
将此添加到 my.cnf
[mysqld]
max_allowed_packet = 1G
然后,以 root@localhost
身份登录 MySQL 并运行它
mysql> SET GLOBAL max_allowed_packet = 1024 * 1024 * 1024;
并尝试 mysqldump。
试试看!!!
关于mysqldump:写入时出现 errno 32: 'all of a sudden' 仍有足够的空间...Drupal 6 安装,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17533323/
对于我的问题,我找不到更好的措辞。 在我的应用程序中的某个时刻,我设置了一些非常密集的动画。问题是,在高端设备上,动画运行流畅且赏心悦目。另一方面,我测试过的一台低端设备在制作动画时表现非常糟糕。 试
我正在修补 OTP 模块 ( yubico_pam ),并尝试访问管理员选择的控制标志(例如必需,足够, ETC)。 有什么想法吗?这是否可行(无需解析文件)? 最佳答案 无法在 API 中查询此信息
我有一些为 Linux 编写的 C 代码,依赖于套接字和 arpa/inet.h 以及 libusb.h,我想在 MinGW 下为 Windows 编译它。 (请注意,当前项目只有一个非常简单的 Ma
我是一名优秀的程序员,十分优秀!