0

我从 mysql 收到此错误

第 1 行的错误 20 (HY000):磁盘已满写入“./homo_sapiens_core_60_37e/dna_align_feature.MYD”(错误代码:28)。正在等待某人释放空间...(在释放磁盘空间后,预计服务器会延迟最多 60 秒才能继续)

我认为这可能是因为我在 /local 上只有空间(df - h 给出)

Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/components-root
                       19G   18G     0 100% /
none                  1.4G  240K  1.4G   1% /dev
none                  1.4G  100K  1.4G   1% /dev/shm
none                  1.4G   80K  1.4G   1% /var/run
none                  1.4G     0  1.4G   0% /var/lock
none                  1.4G     0  1.4G   0% /lib/init/rw
none                   19G   18G     0 100% /var/lib/ureadahead/debugfs
/dev/sdb1             241G   43G  186G  19% /local
/dev/sda1             228M   51M  166M  24% /boot

您如何指定 mysql 将其数据库写入的位置?也许没有写数据库的空间?

您如何配置 mysql 将其数据库写入的位置?也许没有空间尝试写入数据?

我是 unix 新手,也不太了解 mysql,所以请在回答时保持温和!

谢谢

4

2 回答 2

1

在您/etc/my.cnf的标题下[mysqld],您的数据目录由 标识datadir

同样感兴趣的是,如果它们从默认值更改,您还应该检查

您可以通过SHOW VARIABLES从 MySQL 命令行执行来检查所有这些。另请注意,MySQL 仅/etc/my.cnf在启动时读取值,因此在 MySQL 运行时更改文件不会做任何事情。

最后,您可能会在 serverfault 获得更多帮助/想法。

于 2010-12-18T22:38:22.623 回答
1

如果你有/etc/my.cnf那么它可能会有所帮助。如果我理解正确,数据目录要么在启动选项中指定,要么默认来自该文件。您可能想要编辑my.cnf并选择一个目录,/local然后手动将现有数据从它所在的任何位置传输到/local. 确保在传输过程中 MySQL 没有运行。

于 2010-12-18T17:32:08.703 回答