mysql - 错误代码 : 2, WordPress 无法创建/写入文件

标签 mysql fedora sysadmin

所以我基本上到处都问过(包括这里),但我会再试一次,因为实际上似乎没有人愿意提供帮助,而且我很绝望。

[Fri Dec 13 06:52:28.286593 2013] [:error] [pid 13101] [client 124.169.101.176:62647] WordPress database error Can't create/write to file '/var/tmp/#sql_1ff_0.MAI' (Errcode: 2) for query SELECT t.*, tt.* FROM wp_terms AS t INNER JOIN wp_term_taxonomy AS tt ON t.term_id = tt.term_id WHERE tt.taxonomy IN ('post_tag') ORDER BY t.name ASC LIMIT 50 made by do_accordion_sections, call_user_func, wp_nav_menu_item_taxonomy_meta_box, get_terms, referer: http://wardport.com/wordpress/wp-admin/nav-menus.php

正如您所看到的^我收到错误代码2,perror 2表示“没有这样的文件或目录”。大多数消息来源告诉我a)目录中没有空间可以工作(实际上完全是空的!)或b)mysql没有权限写入它所在的目录(/var/tmp/)确实如此(绝望的尝试http://puu.sh/5LeRg.png)。

我的服务器到底出了什么问题,这太令人沮丧了

最佳答案

您无法创建的这个文件似乎是临时表的 AriaDB 容器文件。你正在运行 MariaDB 吗?如果有,是什么版本?

临时文件对于此查询来说并不奇怪。

您的 mysqld 在某种程度上配置错误,或者运行它的服务器可能配置错误。

您可以访问简单的(非 WordPress)mysql 客户端吗?如果是这样,请尝试相同的查询,以排除整个 WordPress/PHP 基础设施导致问题的原因。如果该查询失败,请尝试更简单的查询,例如

  SELECT COUNT(*) FROM wp_posts

这个可能不会失败,因为它不需要创建临时表然后对其进行排序。重点是获得一个失败的简单测试用例。不要想太多,只要给自己一个失败的简单查询即可。

这是你自己的服务器吗?如果是这样,您应该能够找到 mysqld 进程的错误日志。它可能是 MySQL 数据目录中某个位置的名称以 .err 结尾的文件。尾部它(查看最后几百行)并查看 mysqld 是否更详细地解释了问题所在。运行简单的失败测试用例查询并再次查看。

/var/tmp 应该可由系统上的每个用户写入; *如果不是的话,nix 就会倒在一堆。它还应该有足够的空间。

FWIW,这不是一个编程问题(除非您正在研究您正在使用的 MySQL 版本的内部)。这是一个系统管理员问题。

关于mysql - 错误代码 : 2, WordPress 无法创建/写入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20566188/

相关文章:

linux - 如何将图标添加到 bash 提示符

apache - 为什么在 NGINX/Cherokee/Lighttpd 上使用 Apache?

linux - 如何在一个 cgroup 中的多个 block 设备上配置 I/O 节流?

mysql - 如果我的 SQL 脚本更改,我如何让我的 Liquibase 变更集运行?

php - 连接php到mysql数据库

mysql - 基于 VMWare Openstack 的 Fedora Cloud Base - phpMyAdmin 错误 #2002

linux - 如何在 CentOS 8 中安装 Visual C++ 构建工具(14.0+)?

linux - 在哪里存储配置

mysql - 如何让我的 GTFS 查询运行得更快?

c# - C# 中的对象无法从 DBNull 转换为其他类型异常