Search code examples
mysqlfilepermissionsinnodb

Mysql won't start - ibdata1 corrupt? - operating system error number 13 - permissions issue


Server shutdown from power failure.
Mysql will not start now.
Disk is not full. Syslog is below

Oct 11 15:03:31 joe mysqld_safe[24757]: started
Oct 11 15:03:31 joe mysqld[24760]: 101011 15:03:31  InnoDB: Operating system error number 13 in a file operation.
Oct 11 15:03:31 joe mysqld[24760]: InnoDB: The error means mysqld does not have the access rights to
Oct 11 15:03:31 joe mysqld[24760]: InnoDB: the directory.
Oct 11 15:03:31 joe mysqld[24760]: InnoDB: File name ./ibdata1
Oct 11 15:03:31 joe mysqld[24760]: InnoDB: File operation call: 'create'.
Oct 11 15:03:31 joe mysqld[24760]: InnoDB: Cannot continue operation.

Solution

  • The file is not corrupt. You can find out the source of these errors with 'perror'. i.e.

    toaster:~ morgo$ perror 13
    OS error code  13:  Permission denied
    

    InnoDB has corruption detection (page checksums) and would happily tell you if that were the problem.

    Either the directory permissions have changed, or your my.cnf file has been hosed, and it's trying to recreate data files somewhere else.