My objective is to create a clean new and installed system (with a clean
database) from a developpement environment (where I do tests and
developpement) where the database is full of "things" I clean.

One solution would be to recreate from zero the database. But I have
decided to use a cleaned version of this database.


But at the end of the process I have this error on the log:


InnoDB: Cannot find table zope/Users from the internal data dictionary
InnoDB: of InnoDB though the .frm file for the table exists. Maybe you
InnoDB: have deleted and recreated InnoDB data files but have forgotten
InnoDB: to delete the corresponding .frm files of InnoDB tables, or you
InnoDB: have moved .frm files to another database?



When I do:

mysql> use zope;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Didn'd find any fields in table 'Log'
Didn'd find any fields in table 'Miscdata'
Didn'd find any fields in table 'Users'
Database changed
mysql> select * from Users;
ERROR 1016: Can't open file: 'Users.InnoDB'. (errno: 1)
mysql>



The process I follow to create this broken database is:


1) Copy all the filesystem of the developpment computer (where are the
files of a "dirty" database (mysql 3.23.46)) to the computer I use
to generate the "clean" image (in a mounted local disk).


2) Run mysql (3.23.47) in this computer, pointing to the database in the
disk.
Clean the databases (remove all the fields of the tables I want)
("delete from ...").

3) Stop mysql.

4) Add another Innodb database file in the mysql configuration file (so
this file will be created when mysql will be runned in the freshly
installed system).
Delete Innodb log files.


5) Create a copy of the filesystem with "dump" tool.

6) I recreate all the filesystem in a another computer, beeing the root
filesystem. So this computer is now a copy of the developpment computer,
but without dirty things.

7) Everything works well, the second Innodb file is created. Except at the
moment of accessing to the database, where I have this kind of errors.


So somewhere in the process the .frm files are broken.

The strange thing is that the database is accessed well in 2), an I
haven't any error, even after deleting it.

So I suppose that what happens is that mysql becomes mad when it creates
the new Innodb file (after rebooting the computer, after the "restore"),
he is not able to maintain in sync the .frm files.

Am I right ??

Or should I use exactly the same version of mysql ?? (The error comes
because I use 3.23.47, when the files after is read by a 3.23.46. ?)

Or is it a bug ? (empty databases + add an Innodb file)


If I delete a .frm files:
rm /var/lib/mysql/zope/Log.frm

mysql> select * from Log;
ERROR 1146: Table 'zope.Log' doesn't exist





Thank you very much,


-- 
Saludos de Julián
EA4ACL
-.-




---------------------------------------------------------------------
Before posting, please check:
   http://www.mysql.com/manual.php   (the manual)
   http://lists.mysql.com/           (the list archive)

To request this thread, e-mail <[EMAIL PROTECTED]>
To unsubscribe, e-mail <[EMAIL PROTECTED]>
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php

Reply via email to