Repairing MySQL tables that will not open

This should be handled on a case by case basis, but if you are using the default MySQL table type of MyISAM (which is the default storage engine unless changed or specified differently) here are a few options:

  1. The myisamchk utility can be run from a command line to checks, repairs, or optimizes tables. It is normally run while the database is not running. For more information about myisamchk visit the MySQL website.
  2. mysqlcheck is similar in function to myisamchk, but can be run while the database is running. For more information about
    mysqlcheck visit the MySQL website.
  3. If you login to the database, you can also run sql commands that might fix your problem.
    Examples:
    mysql> optimize table your-tablename;
    mysql> analyze table your-tablename;
    mysql> repair table your-tablename;

    For more information about
    table maintenance SQL visit the MySQL website.
  4. If you are getting MySQL error numbers and are not sure what they are. From a command line you can use the perror utility to lookup errors. For more info on perror visit the MySQL website.
    Examples:
    shell> perror 13 64
    Error code 13: Permission denied
    Error code 64: Machine is not on the network
  • Email, SSL
  • 2 Users Found This Useful
Was this answer helpful?

Related Articles

Mysql Basic Commands

[mysql dir]/bin/mysql -h hostname -u root -p Create a database on the sql server. create...

What is the best online resource for information about MySQL?

The MySQL website has a complete reference manual with search capabilities available on their...

How do I backup MySQL in Linux?

1. Copying from the mysql directoryBy default, MySQL databases on servers that use Linux are...

What is my root password for MySQL?

If the server was auto provisioned with MySQL then the root password is the same as the...

Securing MySQL

Due to differing needs and requirements this is difficult to answer except on a case by case...