[documentation] Draft (please comment): Can't open file: 'TABLE.MYI' (errno: 145)
Gary Feldman
dpal_gaf_doc at marsdome.com
Tue Nov 7 17:47:43 UTC 2006
Anisa wrote:
> Please comment on the rough draft below. I saw a post on this
> recently in the forum, and thought it would be a nice candidate for
> the Trouble shooting faq.
>
> ===================
>
> http://drupal.org/node/85866
>
> This is for errors like this:
>
> |user error: Can't open file: 'accesslog.MYI'. (errno: 145)
> query: INSERT INTO accesslog (title, path, url, hostname, uid,
> timestamp) values('story', 'node/add/story', '.../node/add/story',
> '000.0.000.000 <http://000.0.000.000>', 1, 1146151588) in
> .../includes/database.mysql.inc on line 66.|
>
> errno: 145 is a MySQL error.
>
I think there needs to be some context around this. How did the user
get to this FAQ item? Searching for "errno: 145"? Or searching for
"user error: Can't open file"? The reason is that people are often
intimidated by error messages, so some help in just reading this (as
in: If you see "(errno: nnn)", where "nnn" is some number, then this is
a MySQL error). But I don't think that sort of help belongs here.
>
> |MySQL error code 145: Table was marked as crashed and should be repaired|
>
> (source: http://drupal.org/node/60693)
>
> In this case, the affected table is |accesslog|.
>
I think there should be some more information, for people who know
nothing about databases. Something like "Databases store information in
tables, which are kept in files. Do you see 'accesslog.MYI' in the
message? This file is used for the table named 'accesslog' (without the
.MYI). This is the table that has a problem. Fortunately, MySQL has an
operation to repair tables. You can invoke it with phpmyadmin as
follows:...
> *BACK UP YOUR TABLE!*
>
How? (Presumably a link to instructions.)
>
> Possible solutions.
>
> 1) Please repair your table.
>
> In phpmyadmin:
> Select your database
> check the corrupted table
> scroll down and select the option "repair table".
>
> from mysql command line:
>
> |repair table tablename;|
>
> 2) Empty your table.
> Be sure you know what you are doing!
>
I don't think the second choice should be here. Anyone who knows what
they're doing won't need the FAQ for this question.
Gary
More information about the documentation
mailing list