MySQL - Fehler beim Starten

Hallo Leute!

Folgendes Problem: Ich habe MySQL 4.0.17 auf einem XP-Rechner installiert, den Dienst installiert (mysqld-max-nt --install) und die Konfigurationdatei my.cnf auf c:\ kopiert und konfiguriert.

Beim Starten des Dienstes erhalte ich folgende Fehlermeldung:

Der Dienst „MySQL“ auf „Lokaler Computer“ konnte nicht gestartet werden. Fehler 1067: Der Prozess wurde unerwartet beendet.

Das Ganze hat schon mal problemlos funktioniert, nach einer Neuinstallation funktioniert jedoch nicht mehr.

Hat jemand von euch eine Idee? Bin über jegliche Hilfe sehr dankbar.

Gruß aus OÖ!

Bitte poste mal deine my.ini aus dem Windowsverzeichniss.

Chris


www.schlechte-doku-hasser.de

Hi!

Ich habe das ganze auch auf einem WinNT 4.0 Rechner ausprobiert, da funktioniert einwandfrei. Nur unter WinXP funktionierts nicht.

Hier meine my.ini:

[mysqld]
basedir=C:/Server/MySQL
#bind-address=172.43.34.2
datadir=C:/Server/MySQL/data
#language=C:/Server/MySQL/share/your language directory
#slow query log#=
#tmpdir#=
#port=3306
#set-variable=key_buffer=16M

[WinMySQLadmin]
Server=C:/Server/MySQL/bin/mysqld-nt.exe
user=root
password=test

Hi Alfred,

mit der INI sollte es doch laufen. Läuft ein anderer Dienst schon auf dem Port 3306?
Dann solltest Du unbedingt das language file angeben. (Könnte der Grund sein)

Die Verzeichniss stimmen auch alle? Kannst Du mal noch aus dem ErrorFile die letzten Einträge hier posten?

Wir bekommen das bestimmt hin.

Chris


www.schlechte-doku-hasser.de

Hi Chris!

Die Verzeichnisse habe ich kontrolliert, stimmen eigentlich alle. Eigentlich sollte kein anderer Dienst auf Port 3306 laufen, aber wie kann ich das kontrollieren?

Hier meine aktuelle err-Datei nach zwei Startversuchen:

InnoDB: Error: auto-extending data file .\ibdata1 is of a different size
InnoDB: 0 pages (rounded down to MB) than specified in the .cnf file:
InnoDB: initial 640 pages, max 0 (relevant if non-zero) pages!
InnoDB: Could not open or create data files.
InnoDB: If you tried to add new data files, and it failed here,
InnoDB: you should now edit innodb_data_file_path in my.cnf back
InnoDB: to what it was, and remove the new ibdata files InnoDB created
InnoDB: in this failed attempt. InnoDB only wrote those files full of
InnoDB: zeros, but did not yet use them in any way. But be careful: do not
InnoDB: remove old data files which contain your precious data!
040113 12:00:34 Can’t init databases
040113 12:00:34 Aborting

040113 12:00:34 InnoDB: Warning: shutting down a not properly started
InnoDB: or created database!
040113 12:00:34 MySql: Shutdown ausgeführt.

InnoDB: Error: auto-extending data file .\ibdata1 is of a different size
InnoDB: 0 pages (rounded down to MB) than specified in the .cnf file:
InnoDB: initial 640 pages, max 0 (relevant if non-zero) pages!
InnoDB: Could not open or create data files.
InnoDB: If you tried to add new data files, and it failed here,
InnoDB: you should now edit innodb_data_file_path in my.cnf back
InnoDB: to what it was, and remove the new ibdata files InnoDB created
InnoDB: in this failed attempt. InnoDB only wrote those files full of
InnoDB: zeros, but did not yet use them in any way. But be careful: do not
InnoDB: remove old data files which contain your precious data!
040113 12:02:09 Can’t init databases
040113 12:02:09 Aborting

040113 12:02:09 InnoDB: Warning: shutting down a not properly started
InnoDB: or created database!
040113 12:02:09 MySql: Shutdown ausgeführt.

Besten Dank für deine Hilfe!

Gruß Alfred

Alles Klar!

Also als erstes bitte den Dienst von MySQL mal removen:

* In der Konsole in das Verzeichniss MYSQL/BIN gehen.
* Dienst rauswerfen: mysqld.exe --remove
* Für INNODB, folgendes installieren: mysqld-max-nt --install

Dann in die my.ini folgendes eintragen (alles andere kannst DU vorerst rauswerfen):


Beispiel Config

[WinMySQLAdmin]
Server=C:/mysql/bin/mysqld-max-nt.exe
datadir=c:/mysql/data
language=c:/mysql/share/german
user=DEIN_USER
password=DEIN PASSWORT

innodb_data_home_dir=c:/innodb
innodb_data_file_path=ibdataA:650M;

Du musst natürlich ein INNODB Verzeichniss angelegt haben. DIe größe hab ich hier auf 650 MB begrenzt. Kannst Du auch kleiner / größer machen.

Danach kannst Du mySQL starten:


net start mysql

Viel Spass!

Chris


www.schlechte-doku-hasser.de

Hallo nochmals!

Besten Dank, jetzt funzt das Ganze wieder. Ich glaube, es war die beiden innodb_data - Einträge…

Also nochmals besten, hast mir sehr geholfen :smile:

Gruß, Alfred

Gerne doch!

Auf www.schlechte-doku-hasser.de sind einige Leutz, die ausschliesslich mit SAPDB und / oder MySQL - InnoDB arbeiten. Dort findest Du ne Menge Infos dazu. Schau doch mal rein.

Chris

Hallo Chris!

Mit deiner Anleitung habe ich es geschafft, MySQL wieder zum Laufen zu bringen. Nachdem wieder alles funktioniert hat, habe ich mir in meiner geistigen Verwirrtheit versehentlich den root-User gelöscht.

Ich habe mir nicht anders zu helfen gewußt, als MySQL erneut zu installieren. Ich bin dabei genauso vorgegangen, wie beim letzten Mal, doch jetzt funktioniert das ganze wieder nicht. Hier mein .err-File:

InnoDB: Error: data file C:\Server\MySQL\innodb\ibdataA is of a different size
InnoDB: 0 pages (rounded down to MB)
InnoDB: than specified in the .cnf file 96000 pages!
InnoDB: Could not open or create data files.
InnoDB: If you tried to add new data files, and it failed here,
InnoDB: you should now edit innodb_data_file_path in my.cnf back
InnoDB: to what it was, and remove the new ibdata files InnoDB created
InnoDB: in this failed attempt. InnoDB only wrote those files full of
InnoDB: zeros, but did not yet use them in any way. But be careful: do not
InnoDB: remove old data files which contain your precious data!
040113 14:51:10 Can’t init databases
040113 14:51:10 Aborting

040113 14:51:10 MySql: Heruntergefahren (shutdown)

Kannst du mir in diesem Fall vielleicht nochmals helfen? Besten Dank schon im Vorraus

Gruß, Alfred

Mist!

Du hast die Größe geändert! Das darfst DU so nicht tun!

Trag die alte Größe wieder ein, dann funzt es.

Es gibt die Möglichkeit eine Automatische Größe anzugeben. (Datenbank wächst mit). Aber performanter ist es, eine feste Größe anzugeben. Du kannst auch mit einem „;“ weitere Datenbankfiles für INNODB angeben. Schau mal in die MySQL Hilfe auf www.mysql.de - das ist dort wirklich gut beschrieben!

Wenn Du die Größe verringern willst, hilft nur ein DB Export!

Neuinstallieren brauchst du nie. Lösche einfach alle INNODB Datenfiles und alle LOGs. Dann erstellt er die neuen INNODB nach deiner alten Strucktur neu. (Daten sind dann logischerweise weg!) Mach das nur, wenn die DB steht.

Chris


www.schlechte-doku-hasser.de

Hallo nachmals!

Ich habe die innoDB-Files gelöscht und dann versucht, MySQL erneut zu starten. Funzt wieder nicht. Hier nochmals mein .err-File:

InnoDB: The first specified data file c:\Server\MySQL\innoDB\ibdataA did not exist:
InnoDB: a new database to be created!
040114 9:38:42 InnoDB: Setting file c:\Server\MySQL\innoDB\ibdataA size to 650 MB
InnoDB: Database physically writes the file full: wait…
InnoDB: Progress in MB:040114 9:38:43 InnoDB: Error: Write to file c:\Server\MySQL\innoDB\ibdataA failed at offset 0 0.
InnoDB: 8388608 bytes should have been written, only 0 were written.
InnoDB: Operating system error number 1450.
InnoDB: Check that your OS and file system support files of this size.
InnoDB: Check also that the disk is not full or a disk quota exceeded.
InnoDB: Error number 1450 means ‚Unknown error‘.
InnoDB: See also section 13.2 at http://www.innodb.com/ibman.html
InnoDB: about operating system error numbers.
InnoDB: Error in creating c:\Server\MySQL\innoDB\ibdataA: probably out of disk space
InnoDB: Could not open or create data files.
InnoDB: If you tried to add new data files, and it failed here,
InnoDB: you should now edit innodb_data_file_path in my.cnf back
InnoDB: to what it was, and remove the new ibdata files InnoDB created
InnoDB: in this failed attempt. InnoDB only wrote those files full of
InnoDB: zeros, but did not yet use them in any way. But be careful: do not
InnoDB: remove old data files which contain your precious data!
040114 9:38:43 Can’t init databases
040114 9:38:43 Aborting

040114 9:38:43 MySQL: Heruntergefahren (shutdown)

Warum kann er seine Daten nicht schreiben, es ist genügend Festplattenspeicher vorhanden? Langsam aber sicher bin ich am verzweifeln…

HILFE! Besten Dank im Vorraus.

Gruß, Alfred

Lösch einfach alle LOGs und Datafiles - nicht die Verzeichnisse mit den Datenbeschreibungen. Dann geht es wieder.

Schau Dir bitte mal die Doku zu INNODB an. Da ist genau dein Problem beschrieben.

Chris

Lösch einfach alle LOGs und Datafiles - nicht die
Verzeichnisse mit den Datenbeschreibungen. Dann geht es
wieder.

Dumme Frage: Wo finde ich die ganzen LOGs und Datafiles???

Schau Dir bitte mal die Doku zu INNODB an. Da ist genau dein
Problem beschrieben.

Ich habe mir die Doku mittlerweile schon mehr als einmal angeschaut, aber ich komme nicht dahinter. Irgendwie glaube ich (laut err-File), dass ich da ein Zugriffsproblem habe.

Hier nochmals mein err-File:

InnoDB: The first specified data file c:\mysql\ibdata\ibdataA did not exist:
InnoDB: a new database to be created!
040115 13:00:46 InnoDB: Setting file c:\mysql\ibdata\ibdataA size to 650 MB
InnoDB: Database physically writes the file full: wait…
InnoDB: Progress in MB:040115 13:00:46 InnoDB: Error: Write to file c:\mysql\ibdata\ibdataA failed at offset 0 0.
InnoDB: 8388608 bytes should have been written, only 0 were written.
InnoDB: Operating system error number 1450.
InnoDB: Check that your OS and file system support files of this size.
InnoDB: Check also that the disk is not full or a disk quota exceeded.
InnoDB: Error number 1450 means ‚Unknown error‘.
InnoDB: See also section 13.2 at http://www.innodb.com/ibman.html
InnoDB: about operating system error numbers.
InnoDB: Error in creating c:\mysql\ibdata\ibdataA: probably out of disk space
InnoDB: Could not open or create data files.
InnoDB: If you tried to add new data files, and it failed here,
InnoDB: you should now edit innodb_data_file_path in my.cnf back
InnoDB: to what it was, and remove the new ibdata files InnoDB created
InnoDB: in this failed attempt. InnoDB only wrote those files full of
InnoDB: zeros, but did not yet use them in any way. But be careful: do not
InnoDB: remove old data files which contain your precious data!
040115 13:00:46 Can’t init databases
040115 13:00:46 Aborting

040115 13:00:46 MySQL: Heruntergefahren (shutdown)

Wäre super, wenn du mir weiterhelfen könntest, bin mittlerweile schon ziemlich verzweifelt.

Gruß, Alfred

Lösch einfach alle LOGs und Datafiles - nicht die
Verzeichnisse mit den Datenbeschreibungen. Dann geht es
wieder.

Dumme Frage: Wo finde ich die ganzen LOGs und Datafiles???

Entweder im allgemeinen DATA Verzeichniss (\mysql\data) oder falls Du, dies in deinem my.ini File getan hast, in einem anderem Verzeichniss.

Lösche im DATA Verzeichniss einfach mal ALLE Dateien, aber nicht die Verzeichnisse.

Ich habe mir die Doku mittlerweile schon mehr als einmal
angeschaut, aber ich komme nicht dahinter. Irgendwie glaube
ich (laut err-File), dass ich da ein Zugriffsproblem habe.

Nein. Hast Du nicht.

Hier nochmals mein err-File:

InnoDB: The first specified data file c:\mysql\ibdata\ibdataA
did not exist:
InnoDB: a new database to be created!
040115 13:00:46 InnoDB: Setting file c:\mysql\ibdata\ibdataA
size to 650 MB
InnoDB: Database physically writes the file full: wait…
InnoDB: Progress in MB:040115 13:00:46 InnoDB: Error: Write
to file c:\mysql\ibdata\ibdataA failed at offset 0 0.
InnoDB: 8388608 bytes should have been written, only 0 were
written.
InnoDB: Operating system error number 1450.
InnoDB: Check that your OS and file system support files of
this size.
InnoDB: Check also that the disk is not full or a disk quota
exceeded.
InnoDB: Error number 1450 means ‚Unknown error‘.
InnoDB: See also section 13.2 at
http://www.innodb.com/ibman.html
InnoDB: about operating system error numbers.
InnoDB: Error in creating c:\mysql\ibdata\ibdataA: probably
out of disk space
InnoDB: Could not open or create data files.
InnoDB: If you tried to add new data files, and it failed
here,
InnoDB: you should now edit innodb_data_file_path in my.cnf
back
InnoDB: to what it was, and remove the new ibdata files InnoDB
created
InnoDB: in this failed attempt. InnoDB only wrote those files
full of
InnoDB: zeros, but did not yet use them in any way. But be
careful: do not
InnoDB: remove old data files which contain your precious
data!
040115 13:00:46 Can’t init databases
040115 13:00:46 Aborting

040115 13:00:46 MySQL: Heruntergefahren (shutdown)

Also kurz gesagt, steht in Deinem ErrorFile folgendes:

  1. c:\mysql\ibdata\ibdataA mit 650 MB kann nicht geschrieben werden, da die Festplatte voll ist!
  2. Es wird Dir empfohlen, Platz zu schaffen oder das File kleiner anzugeben in der my.ini oder das File woanders hin geneiren zu lassen. 3. Weil er die probleme hat, startet er die DB nicht.

So und nun mach bitte folgendes:

  1. Wie schin gesagt, das DATA Verzeichniss mal säubern.
  2. In die my.ini und dort nen vernünftigen Wert angeben:
    A) Andere Festplatte wählen, falls Du noch eine zweite im Rechner hast, für das INNODB Datenverzeichniss mit:
    innodb_data_home_dir=Festplatte\Verzeichniss also so:
    innodb_data_home_dir=f:\data

UND / ODER die Größe des Files ändern mit:
innodb_data_file_path=DATEINAME:GrößeEINHEIT also so, weitere Files mit einem „;“ trennen:
innodb_data_file_path=ibdataA:650M;ibdataB:650M;
da Du mit 650 MB Probleme hast, kannst Du ja mal einen kleineren Wert probieren:
innodb_data_file_path=ibdataA:50M

So und dann, kann ich Dir trotzdem nur nochmal die Doku empfehlen.

Chris