Toon posts:

[ Mysql ] Corrupte database op linux., windows is ok

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een vreemd probleem dat ik nog niet heb kunnen oplossen.

Namelijk een apache op windows installatie met mysql en php, hierop draait mijn database prima.

Ga ik nu de database exporteren naar linux, als een .sql file, en onder linux inladen in de database dan werkt me hele .php ineens niet meer! ik krijg dan allemaal fouten dat er geen goeie gegevens in de database gevonden kunnen worden.
Bovendien geeft hij mysql_fetch_errors: kortom de database is dan corrupt

Hoe kan ik dit probleem verhelpen? of wat zou mogelijk de oorzaak hiervan kunnen zijn.

Ik heb via de gewone weg, en via mysqldump backups gemaakt van mn werkende database maar elke keer als i onder linux, deze gegevens wil invoeren gaat dit prima, maar het werkt dus niet.

Heb overigens de database al paar keer gedropped en opnieuw aangemaakt, maar dat helpt ook niks. 8)7

  • GarBaGe
  • Registratie: December 1999
  • Laatst online: 10:40
Heb je je DB ook nagekeken op fouten via myisamchk (MySQL db-check tool) ??
Je tabelnamen vertegenwoordigen files op je filesysteem, Linux is case-sensitive en Windows NIET.
Dus als je je tabel niet EXACT met de juiste "case" aanspreekt, zal ie de tabel niet herkennen en dus een fout geven.

Edit: ik gebruik consequent ALTIJD lower-case voor mijn tabelnamen en kolomnamen. Dus niet alleen tijdens de tabel definitie, maar OOK in al mijn queries...

[ Voor 24% gewijzigd door GarBaGe op 01-04-2004 09:57 ]

Ryzen9 5900X; 16GB DDR4-3200 ; RTX-4080S ; 7TB SSD


Verwijderd

Topicstarter
GarBaGe schreef op 01 april 2004 @ 09:55:
Heb je je DB ook nagekeken op fouten via myisamchk (MySQL db-check tool) ??
Je tabelnamen vertegenwoordigen files op je filesysteem, Linux is case-sensitive en Windows NIET.
Dus als je je tabel niet EXACT met de juiste "case" aanspreekt, zal ie de tabel niet herkennen en dus een fout geven.

Edit: ik gebruik consequent ALTIJD lower-case voor mijn tabelnamen en kolomnamen. Dus niet alleen tijdens de tabel definitie, maar OOK in al mijn queries...
Heb ik gedaan, dat was allemaal goed. Ik gebruik exact hetzelfde script voor windows als voor linux (.php script) dan zou het toch ook moeten werken? het lijkt echt gewoon een database corruptie probleem.

  • GarBaGe
  • Registratie: December 1999
  • Laatst online: 10:40
Heb je al een "myisamchk /path/to/database_dir/*.MYI" gedaan ???

Die check de integriteit van je DB bestanden (zie ook hoofdstuk 5 van de MySQL docs)

http://www.mysql.com/docu...on.html#Table_maintenance

[ Voor 30% gewijzigd door GarBaGe op 01-04-2004 10:05 ]

Ryzen9 5900X; 16GB DDR4-3200 ; RTX-4080S ; 7TB SSD


Verwijderd

Topicstarter
Dat kan ook via mysqladmin webbrowser tool toch? maar ik ga er even induiken en laat het weten als het gelukt is.

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 26-05 00:01

Janoz

Moderator Devschuur®

!litemod

ik krijg dan allemaal fouten dat er geen goeie gegevens in de database gevonden kunnen worden.
Bovendien geeft hij mysql_fetch_errors: kortom de database is dan corrupt
Dat lijkt me een erg snel getrokken conclusie. Het kan namelijk ook nog gewoon aan je script liggen. Heb je ook wat meer informatie over de daadwerkelijke foutmeldingen? (Ik kan nergens iets vinden over een mysql_fetch_error(s) )

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • killercow
  • Registratie: Maart 2000
  • Laatst online: 26-05 11:59

killercow

eth0

Verwijderd schreef op 01 april 2004 @ 09:58:
[...]


Heb ik gedaan, dat was allemaal goed. Ik gebruik exact hetzelfde script voor windows als voor linux (.php script) dan zou het toch ook moeten werken? het lijkt echt gewoon een database corruptie probleem.
Nee als je .php script netjes vraagt naar tabel TaBeL1 dan doet hij het wel op windows als je tabel eigenlijk tabel1 heet, maar op linux kan hij de tabel TaBeL1 niet vinden, hij heeft wel een tabel genaamt tabel1, maar ja daar vroeg je niet om.

Zelfde geld voor files, paden, en nog veel meer dingen, kortom altijd case sensitive programmeren want anders krijg je problemen, Ook op windows is dit netter om te doen.

openkat.nl al gezien?

Pagina: 1