Problem: My db-host suddently switched my mysql db from one server to another. Unfortunately I has 1 table that was running ISAM, all other tables are MyISAM. After the switch from one server to another the ISAM table is dead!
PHP sends "Lost connectio开发者_运维技巧n to MySQL server during query" when trying to SELECT from the dead table.
In PHPMyAdmin a healthy tables has values for the columns accordingly (Records, Type, Collation) 885 MyISAM latin1_swedish_ci
The died table just has: "in use" writtin all over the three columns.
If i try to run view the structure of the table:
SHOW FULL FIELDS FROM table_name
;
I get a: 1017 - Can't find file: 'table_name' (errno: 2)
Thank you!
I've heard someone say that ISAM files depends on operating system and mysql version where MyISAM files doesnt have that kind of dependencies? Actually I dont know if the file is corrupted or if its the switch to a new OS that killed the table. I have tried with mysql 3.23, 4.01 and 5.1. Above 3.23 isamchk looks for a .MYD file, so im thinking that ISAM engine is out after this version. Using isamchk from 3.23 with -e (extend-check) or o- (safe-recover) the console app just dies after the "check delete-chain" command.
Would it be an idea to try running the isamchk on a mac or a linux or perhaps a freebsd (which the db came from)? Or are the implementations all the same?
Thanks
精彩评论