Bug #10087 | myisamchk changes MySQL-Servers behaviour | ||
---|---|---|---|
Submitted: | 22 Apr 2005 9:39 | Modified: | 27 Jul 2005 2:59 |
Reporter: | [ name withheld ] | Email Updates: | |
Status: | Can't repeat | Impact on me: | |
Category: | MySQL Server | Severity: | S3 (Non-critical) |
Version: | 4.0.24 | OS: | Linux (Linux 2.4.18) |
Assigned to: | Lachlan Mulcahy | CPU Architecture: | Any |
[22 Apr 2005 9:39]
[ name withheld ]
[26 Jul 2005 5:53]
Lachlan Mulcahy
You say that running myisamchk over all tables in your datadir is linked to the behaviour that you describe. However, as you may know, myisamchk works directly on the files themselves and not via the server. If you are doing the CREATE TABLE test as you describe after you run this then the myisamchk will have never touched the newly created table. This seems strange indeed -- also, the fact that a system reboot is required suggests this may be something in the OS layer, rather than a MySQL software problem. Can you let me know what Linux Distribution this is manifesting on? eg. Redhat/Debian, what version specifically, etc?
[26 Jul 2005 6:00]
[ name withheld ]
the Distribution on that this error occurs is Debian Woody 3.0R1
[27 Jul 2005 2:59]
Lachlan Mulcahy
I have tried and failed to reproduce this problem on a fresh install of Debian 3.0r1 on an x86 machine -- though I suspect your installation significantly differs from a standard install given that you report using Linux kernel version 2.4.18 and 2.2.20 is what comes with 3.0r1. I followed these steps: 1. Install and setup MySQL 4.0.24 using the following pc-linux-i686 tarball as per instructions in the INSTALL-BINARY 2. Start mysql_safe 3. Run following queries: USE test; CREATE TABLE preIsamchk (field DOUBLE); INSERT INTO preIsamchk VALUES (2.34); SELECT field FROM preIsamchk; # The expected 2.34 is returned INSERT INTO preIsamchk VALUES ('2,32'); SELECT field FROM preIsamchk; # The original row is returned plus a new row with a value of '2' -- as expected. 4. Shutdown the MySQL Server 5. Run the myisamchk command: myisamchk --silent --fast /usr/local/mysql/data/*/*.MYI 6. Restart mysqld_safe 7. Run following queries: USE test; CREATE TABLE postIsamchk (field DOUBLE); INSERT INTO postIsamchk VALUES (2.34); SELECT field FROM postIsamchk; # The expected 2.34 is returned INSERT INTO postIsamchk VALUES ('2,32'); SELECT field FROM postIsamchk; # The original row is returned plus a new row with a value of '2' -- as expected. SELECT field FROM preIsamchk; # The expected rows with values '2' and '2.34' are returned as expected. If you have any further information or ideas on how to repeat this, please update this bug and set the status back to open. For now, I am unable to repeat the problem you describe. Thank you for your interest in MySQL!