我从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,所以请温柔地回答你的问题!
感谢
答案 0 :(得分:1)
如果您有/etc/my.cnf
,那么它可能会有所帮助。如果我理解正确,数据目录在启动选项中指定,或者从该文件默认。您需要修改my.cnf
并在/local
中选择一个目录,然后手动将现有数据从/local
转移到新地点。确保MySQL在传输过程中没有运行。
答案 1 :(得分:1)
在/etc/my.cnf
的{{1}}标题下,您的the data directory由[mysqld]
标识。
同样感兴趣的是,如果他们从默认状态更改,您还应该检查
datadir
tmpdir
)和history length(log-bin
)二进制日志(如果有的话)expire-log-days
和innodb_data_file_path
)innodb_data_home_dir
(这些日志的大小将取决于您的慢阈值有多低)。您可以通过MySQL命令行执行slow-query-log-file
来检查所有这些内容。另请注意,MySQL仅在启动时读取SHOW VARIABLES
中的值,因此在MySQL运行时更改文件将无法执行任何操作。
最后,您可能会在serverfault获得更多帮助/想法。