I shouldn't answer this 'cause I know someone else will have a better answer, but it sounds to me like there's a good reason those rows are getting deleted, ie they are the problem. Perhaps you've managed to change your keys so that you're violating your uniqeness constraints?
PS: I really shouldn't be answering this, and yet I feel compelled... On Wed, 14 Jul 2004 17:28:01 -0500 (CDT), [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote: > UUG MySQL guru friends: > > I have a mysql database table (let's call it Recover) inside database test, > that seems to have been corrupted. > > When I do I "myisamchk Recover", it says there are errors. "myisamchk -o > Recover" says it fixes them, but does not. "myisamchk -r Recover" seems to > fix the problem(i.e. I can query on the table) but in the process, it > whittles the table from 460 rows to 419. I would really like to have those > missing rows back. > > ideas? > > MRB > > ========================================================= > > # cd /var/lib/mysql/test > > # ls > Recover.frm Recover.MYD Recover.MYI > [EMAIL PROTECTED] test]# ls -al > total 204 > drwx------ 2 mysql mysql 4096 Jul 14 17:17 . > drwxr-xr-x 6 mysql mysql 4096 Jun 12 14:30 .. > -rw-r----- 1 root root 9928 Jul 14 17:17 Recover.frm > -rw-r----- 1 root root 176128 Jul 14 17:17 Recover.MYD > -rw-r----- 1 root root 6144 Jul 14 17:17 Recover.MYI > > # myisamchk Recover > Checking MyISAM file: Recover > Data records: 460 Deleted blocks: 0 > myisamchk: warning: Table is marked as crashed > myisamchk: warning: 3 clients is using or hasn't closed the table properly > - check file-size > myisamchk: error: Size of datafile is: 176128 Should be: 176456 > - check key delete-chain > - check record delete-chain > - check index reference > - check data record references index: 1 > myisamchk: error: Found key at page 5120 that points to record outside > datafile > - check record links > myisamchk: error: Recordlink that points outside datafile at 176056 > MyISAM-table 'Recover' is corrupted > Fix it using switch "-r" or "-o" > > # myisamchk -o Recover > - recovering (with keycache) MyISAM-table 'Recover.MYI' > Data records: 460 > Found block that points outside data file at 175756 > Found block that points outside data file at 176024 > Data records: 459 > > # myisamchk Recover > Checking MyISAM file: Recover > Data records: 459 Deleted blocks: 0 > - check file-size > - check key delete-chain > - check record delete-chain > - check index reference > - check data record references index: 1 > - check record links > > # mysql -u root -p > Enter password: > Welcome to the MySQL monitor. Commands end with ; or \g. > Your MySQL connection id is 28153 to server version: 3.23.58 > > Type 'help;' or '\h' for help. Type '\c' to clear the buffer. > > mysql> use test; > Reading table information for completion of table and column names > You can turn off this feature to get a quicker startup with -A > > Didn't find any fields in table 'Recover' > Database changed > mysql> show tables; > +----------------+ > | Tables_in_test | > +----------------+ > | Recover | > +----------------+ > 1 row in set (0.00 sec) > > mysql> select * from Recover; > ERROR 1017: Can't find file: './test/Recover.frm' (errno: 13) > > ____________________ > BYU Unix Users Group > http://uug.byu.edu/ > ___________________________________________________________________ > List Info: http://uug.byu.edu/cgi-bin/mailman/listinfo/uug-list > ____________________ BYU Unix Users Group http://uug.byu.edu/ ___________________________________________________________________ List Info: http://uug.byu.edu/cgi-bin/mailman/listinfo/uug-list
