mysql出空间错误

时间:2010-12-18 17:05:12

标签: mysql unix diskspace datadirectory

我从mysql

收到此错误

错误20(HY000)第1行:磁盘已完整写入'./homo_sapiens_core_60_37e/dna_align_feature.MYD'(错误代码:28)。等待某人释放空间......(在释放磁盘空间后,服务器可能会延迟60秒延迟)

我认为这可能是因为我只有/本地空间(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,所以请温柔地回答你的问题!

感谢

2 个答案:

答案 0 :(得分:1)

如果您有/etc/my.cnf,那么它可能会有所帮助。如果我理解正确,数据目录在启动选项中指定,或者从该文件默认。您需要修改my.cnf并在/local中选择一个目录,然后手动将现有数据从/local转移到新地点。确保MySQL在传输过程中没有运行。

答案 1 :(得分:1)

/etc/my.cnf的{​​{1}}标题下,您的the data directory[mysqld]标识。

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

您可以通过MySQL命令行执行slow-query-log-file来检查所有这些内容。另请注意,MySQL仅在启动时读取SHOW VARIABLES中的值,因此在MySQL运行时更改文件将无法执行任何操作。

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