【问题标题】:mysql 5.5 innodb_data_file_directorymysql 5.5 innodb_data_file_directory
【发布时间】:2012-02-04 23:32:11
【问题描述】:

我需要将mysql数据分布在两个磁盘上,如下所示:

innodb_data_file_path = /var/lib/mysql/ibdata:1000G;/disk2/mysql/ibdata2:1000M:autoextend

mysql 在启动时尝试创建一个 1000G 的新文件,但是在将大约 250GB 的空数据写入 ibdata 后它会静默失败。

问题:

  1. 这是因为单个文件的大小限制吗?操作系统是centos 6(ext3 fs),如果不是什么可能是启动失败的原因。主磁盘上有足够的磁盘空间。没有提供额外的错误日志。

  2. 有没有其他快速而肮脏的方式将数据分布在两个磁盘上?

编辑:添加 df 信息:

df -h 已使用的文件系统大小可用使用百分比已安装在 /dev/sda3 1.8T 308G 1.4T 18% / tmpfs 7.9G 0 7.9G 0% /dev/shm /dev/sda1 471M 92M 355M 21% /boot /dev/sdb1 1.8T 332G 1.4T 20% /disk2

【问题讨论】:

  • 可能是一个令人生厌的问题,但您是否检查过您正在向其中写入文件的卷上有足够的可用空间?
  • @Jasper:是的,请查看我的 df -h 在上面的编辑中显示的内容

标签: mysql innodb


【解决方案1】:

是的,我认为您的问题出在 ext3 文件系统上。对于 2k 块大小,最大文件大小为 256gb。看起来您很可能达到了该限制,这就是 innodb 在尝试增加文件大小时失败的原因。

【讨论】:

  • 是否可以在不破坏现有数据的情况下增加块大小?
  • 不,没有办法。您必须创建一个新卷并复制数据,或者备份数据、创建新文件系统并恢复。
猜你喜欢
  • 1970-01-01
  • 2013-11-05
  • 2016-05-02
  • 2017-11-18
  • 2012-03-03
  • 2013-08-30
  • 1970-01-01
  • 1970-01-01
  • 2013-10-18
相关资源
最近更新 更多