Documentation Home
MySQL 9.4 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 41.2Mb
PDF (A4) - 41.3Mb
Man Pages (TGZ) - 262.8Kb
Man Pages (Zip) - 368.8Kb
Info (Gzip) - 4.1Mb
Info (Zip) - 4.1Mb


MySQL 9.4 Reference Manual  / The InnoDB Storage Engine  /  InnoDB Troubleshooting

17.20 InnoDB Troubleshooting

The following general guidelines apply to troubleshootingInnoDB problems:

  • When an operation fails or you suspect a bug, look at the MySQL server error log (seeSection 7.4.2, “The Error Log”).Server Error Message Reference provides troubleshooting information for some of the commonInnoDB-specific errors that you may encounter.

  • If the failure is related to adeadlock, run with theinnodb_print_all_deadlocks option enabled so that details about each deadlock are printed to the MySQL server error log. For information about deadlocks, seeSection 17.7.5, “Deadlocks in InnoDB”.

  • If the issue is related to theInnoDB data dictionary, seeSection 17.20.4, “Troubleshooting InnoDB Data Dictionary Operations”.

  • When troubleshooting, it is usually best to run the MySQL server from the command prompt, rather than throughmysqld_safe or as a Windows service. You can then see whatmysqld prints to the console, and so have a better grasp of what is going on. On Windows, startmysqld with the--console option to direct the output to the console window.

  • Enable theInnoDB Monitors to obtain information about a problem (seeSection 17.17, “InnoDB Monitors”). If the problem is performance-related, or your server appears to be hung, you should enable the standard Monitor to print information about the internal state ofInnoDB. If the problem is with locks, enable the Lock Monitor. If the problem is with table creation, tablespaces, or data dictionary operations, refer to theInnoDB Information Schema system tables to examine contents of theInnoDB internal data dictionary.

    InnoDB temporarily enables standardInnoDB Monitor output under the following conditions:

    • A long semaphore wait

    • InnoDB cannot find free blocks in the buffer pool

    • Over 67% of the buffer pool is occupied by lock heaps or the adaptive hash index

  • If you suspect that a table is corrupt, runCHECK TABLE on that table.