MySQL - Large File Support
Today I had an interesting issue from one of the internal property within Yahoo!, where they were not able to start the MySQL server after the server has been upgraded to 5.1 from 4.1.
Here is the error log when the 5.1.22 server has started on 32-bit RHEL:
1 2 3 4 5 6 7 8 | 071105 12:25:50 InnoDB: Operating system error number 27 in a file operation. InnoDB: Error number 27 means 'File too large'. InnoDB: Some operating system error numbers are described at InnoDB: http://dev.mysql.com/doc/refmastartn/5.1/en/operating-system-error-codes.html InnoDB: File name /mysql/var/mysql/ibdata/ibdata1 InnoDB: File operation call: 'open'. InnoDB: Cannot continue operation. 071105 12:25:50 mysqld_safe mysqld from pid file /mysql/var/mysql/mysqld.pid ended |
The reason is pretty simple as the large file system is off and the above file is of size ~26G. By looking at the error realized that it is because of the large file support, but could not understand how the support has been disabled in the new 5.1.22 build and going back to 5.1.21 also caused the same problem, but 5.1.20 started working fine because it has the large file support on the 32-bit RHEL.
1 2 3 4 5 6 7 | [vanugant@escapereply:t55 5.1]$ mysql -e "show variables like '%large_files%'" +---------------------+-------+ | Variable_name | Value | +---------------------+-------+ | large_files_support | OFF | +---------------------+-------+ [vanugant@escapereply:t55 5.1]$ |
But the funny thing is; am using the same makefile and build environment and tools for all the above versions of MySQL builds, and the Makefile has the same build flags (getconf LFS_CFLAGS =”-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64″).
Looks like time to find out what went wrong in the build process.
1 Comment
Very Strange! I check it by (mysql -e “show variables like ‘%large_files%’”),I found large_files_support is ON,but even it can’t be start now.please help me!
Comment :: March 7, 2008 @ 7:46 am