MYSQL Problem: mysql Daten [data] von Windows auf Mac Tiger

Morgen mikne21!
Ja die config Datei von PHPMyAdmin habe ich angepasst.
Das Terminal gibt den selben Fehler aus wie der PHPMyAdmin, naemlich: "ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (61)"
Die Firewall ist auch ausgeschaltet.s
 
so es klappt immer noch nicht - habe alles moeglich versucht, sagar Tiger neu installiert, doch er kann die DB immer noch nicht starten bzw connecten!

Das sagt der Terminal u.a.:

myibook:~ maltespielberger$ mysql
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (61)
ibook:~ maltespielberger$ mysqld
050621 17:48:24 [Warning] Setting lower_case_table_names=2 because file system for /usr/local/mysql-standard-4.1.12-apple-darwin7.9.0-powerpc/data/ is case insensitive
050621 17:48:24 [ERROR] Can't start server : Bind on unix socket: Address already in use
050621 17:48:24 [ERROR] Do you already have another mysqld server running on socket: /tmp/mysql.sock ?
050621 17:48:24 [ERROR] Aborting

050621 17:48:24 [Note] mysqld: Shutdown complete

Alles was ich daraus entnehmen kann, ist doch, dass MySQL laueft aber ich nicht verbinden kann. Die mysql.sock ist aber vorhanden und ist auch in PHPMyAdmin richtig angegeben (was ja nichts an der Tatsache aendert, dass ich per Konsole auch keine Verbindung herstellen kann).

Gibt es denn noch alternativen die ich mal durchspielen koennte?
 
Zuletzt bearbeitet:
Also zunächst mal würde ich bis zu dem Zeitpunkt, wo manuell alles läuft das StartupItem (ich nehme an das meinst Du mit "ein Paket dabei ist, was MySQL automatisch bei Systemstart laed") beiseite lassen.

Dann würde ich Dir empfehlen den Rechner neu zu starten und nach dem Hochfahren zu prüfen, ob der MySQL Server wirklich nicht läuft.
Das kannst Du machen, indem Du
ps aux | grep mysqld
im Terminal eingibst.
Es sollte dann nur eine (nicht zwei) Zeile/n ausgegeben werden, die auf "grep mysqld" endet.
(Achtung: Terminalfenster auf volle Bildschimbreite einstellen, sonst funktioniert das nicht verlässlich)

Nun startest Du den MySQL Server "von Hand" indem Du folgendes eingibst:
sudo /usr/local/mysql/bin/mysqld --user=mysql.
Jetzt musst Du Dein normales Anmeldepasswort (nicht das mysql Passwort") eingeben.

Als nächstes prüfst Du, ob Du Dich mit dem Server verbinden kannst.
mysql -uroot -p mysql
Jetzt sollte das (MySQL-)Passwort abgefragt werden, das Du bei/nach der Installation vergeben hast.
Nachdem Du das eingegeben hast, solltest Du einen Prompt erhalten, der so aussieht:
mysql>
Mit quit kommst Du wieder auf Deine Shell zurück.

Wenn das mal soweit klappt, können wir weitermachen.
Wenn nicht, poste bitte, an welcher Stelle welches Problem auftritt.
 
ok ich habe deine Anleitung soweit befolgt.
Die erste Anzeige ist wie du sie beschrieben hast. Also endet auf 'grep mysqld'.
Doch bei dem MySQL start hapert es (denk ich mal - denn leider versteh ich nicht alles was ausgegeben wird):
050621 20:44:19 [Warning] Setting lower_case_table_names=2 because file system for /usr/local/mysql-standard-4.1.12-apple-darwin7.9.0-powerpc/data/ is case insensitive
050621 20:44:19 InnoDB: Database was not shut down normally!
InnoDB: Starting crash recovery.
InnoDB: Reading tablespace information from the .ibd files...
InnoDB: Restoring possible half-written data pages from the doublewrite
InnoDB: buffer...
050621 20:44:19 InnoDB: Starting log scan based on checkpoint at
InnoDB: log sequence number 0 36808.
InnoDB: Doing recovery: scanned up to log sequence number 0 43634
050621 20:44:19 InnoDB: Starting an apply batch of log records to the database...
InnoDB: Progress in percents: 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
InnoDB: Apply batch completed
050621 20:44:20 InnoDB: Flushing modified pages from the buffer pool...
050621 20:44:21 InnoDB: Started; log sequence number 0 43634
050621 20:44:21 [ERROR] Fatal error: Can't open privilege tables: Table 'mysql.host' doesn't exist
So wie ich das verstehe (bitte korriegier mich, wenn dies nicht stimmt) laed der den MySQL Server neu [nach dem unerwartetem schliessen], kann dann aber die Datenbank aufgrund der Rechte nicht oeffnen?

Wenn ich dann auf den MySQL Server verbinden moechte, wird dieser [altbekannte] Fehler ausgegeben
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

Mit freundlichem Gruss
Asylum

//edit: mir ist eben aufgefallen, dass ich gar keine mysql.sock datei in /tmp/ habe [muss wohl beim loeschen mit drauf gegangen sein]
 
Zuletzt bearbeitet:
Okay.
Zunächst mal eines.
Das Neuinstallieren von Tiger ist in keinem Fall notwendig.
Du solltest aber Deine MySQL version vollständig löschen und dann neu installieren.


Das machst Du am besten folgendermaßen (alles im Terminal)
Ich gehe davon aus, dass Du keine Datenbanken hast, die vorher gesichert werden müssen:
cd ~/Desktop
curl -O
sudo sh remove-old-mysql.sh

Folge dann den weiteren Anweisungen.
Das Skript "remove-old-mysql.sh" stammt von Marc Liyanage (s. Cleanup Instructions for old MySQL versions)

Jetzt kannst Du MySQL sauber neu installieren, ein Passwort für den MySQL root Benutzer vergeben und von vorn anfangen.

HTH
 
danke!
Hab schon die ganze Zeit nach dem Tool gesucht um MySQL zu loeschen!

Habe mithilfe des Tools die MySQL vollstaendig geloescht und dann neu installiert.

Am besten poste ich einfach mal den Log:
ibook:/usr/local/mysql maltespielberger$ sudo chown -R mysql data/
Password:
ibook:/usr/local/mysql maltespielberger$ sudo echo

ibook:/usr/local/mysql maltespielberger$ sudo ./bin/mysqld_safe &
[1] 245
ibook:/usr/local/mysql maltespielberger$ Starting mysqld daemon with databases from /usr/local/mysql/data
STOPPING server from pid file /usr/local/mysql/data/ibook.local.pid
050622 13:22:38 mysqld ended

/usr/local/mysql/bin/mysql test
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
[1]+ Done sudo ./bin/mysqld_safe
ibook:/usr/local/mysql maltespielberger$ /usr/local/mysql/bin/mysqladmin -u root password malte
/usr/local/mysql/bin/mysqladmin: connect to server at 'localhost' failed
error: 'Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)'
Check that mysqld is running and that the socket: '/tmp/mysql.sock' exists!

ich kann die Datei mysql.sock mit dem Finder im /tmp/ Ordner nicht finden, bzw es ist keine vorhanden!

Gruss

asylum
 
Schau mal in der my.conf nach, dort müsste man eigentlich angeben können wo der Socket abgelegt wird. Oder wie gesagt, den Socket suchen und einen symbolischen Link darauf unter /tmp/ ablegen.
 
spotlight findet weder 'mysql.sock' noch 'my.conf'
 
Warum immer so umständlich?

- MySQL Installieren
- root Passwort setzen
- MySQL Server starten mit "sudo /usr/local/mysql/bin/mysqld --user=mysql" (nicht mit "sudo ./bin/mysqld_safe &")
- Mit Server verbinden ("mysql -uroot -p").

nicht mehr und nicht weniger.
 
wenn ich aber doch mit '/usr/local/mysql/bin/mysqladmin -u root passwort neues_passwort_hier' das PW aendern will, bekomme ich diese Fehlermeldung:
/usr/local/mysql/bin/mysqladmin: connect to server at 'localhost' failed
error: 'Can't connect to local MySQL server through socket '/tmp/mysql.sock' (61)'
Check that mysqld is running and that the socket: '/tmp/mysql.sock' exists!

und in /tmp/ befindet sich keine mysql.sock!
 
asylum schrieb:
...
/usr/local/mysql/bin/mysqladmin: connect to server at 'localhost' failed
error: 'Can't connect to local MySQL server through socket '/tmp/mysql.sock' (61)'
Check that mysqld is running and that the socket: '/tmp/mysql.sock' exists!
...
Und?
Hast Du gecheckt?
Wie ist das Ergebnis?
 
schade das man hier mit wenig Gedult behandelt wird!
Nicht jeder ist direkt ein Pro in solchen Dingen ...

mir fehlt die mysql.sock (!)
ich bekomme sie weder durch neuinstallieren von Tiger, noch durch loeschen und neu installieren von MySQL wieder - folglich klappt der MySQL Server nicht

waer schoen wenn mir, immernoch, geholfen werden kann....

mfg
 
asylum schrieb:
schade das man hier mit wenig Gedult behandelt wird!
...
Sachde, dass Du das so auffasst - ich kann es nicht nachvollziehen.
Schade auch, dass Du nicht verstehst, dass Du zuerst die Hinweise beherzigen sollttest, die MySQl Dir selbst gibt ("Sieh nach, ob der Server überhaupt läuft").

Ich kann jetzt auch nicht nachvollziehen, ob Du meine Tips bezüglich des Startens von MySQl ausprobiert hast, oder nicht bzw. welche Kommandos Du nach der Entfernung und Neuinstallation Du mit welchem Ergebnis ausgeführt hast.
Wie soll ich da noch weiter helfen?

asylum schrieb:
...
mir fehlt die mysql.sock (!)
ich bekomme sie weder durch neuinstallieren von Tiger, noch durch loeschen und neu installieren von MySQL wieder - folglich klappt der MySQL Server nicht
...
Das überrascht mich nicht.
Den Socket erhältst Du durch richtiges Starten des richtig installierten Servers.

HTH
 
naja ich hab es so gemacht wie du es mir in deinen vorherigen Beiträgen erläutert hast: MySQL deinstalliert, dann versucht das Passwort mit '/usr/local/mysql/bin/mysqladmin -u root passwort neues_passwort_hier' zu setzen und dann aber die Fehlermeldung bekommen.

Ansonsten habe ich Tutorials wie dieses (http://www.pixelgraphix.de/log/2005-01/mysql-und-movable-type-unter-mac-os-x-installieren.php) benutzt um MySQL nach dem Deinstallieren erneut aufzuspielen
 
Zuletzt bearbeitet von einem Moderator:
Ich hab die Anleitung kurz überflogen.
Es ist mindestens ein Fehler enthalten.
Das Kommando zum setzen eines Passwortes heisst:
/usr/local/mysql/bin/mysqladmin -u root password neues_passwort_hier

Deine Fehlermeldung deutet darauf hin, dass der Server aber gar nicht gestartet wurde.
Prüfen kannst Du das z. B. indem Du folgendes Kommando im Terminal eingibst:
top -l1 | grep mysqld
Wenn der Server nicht läuft, solltest Du ihn starten und nochmal versuchen.


Abgesehen davon ist unter Tiger das Installieren des StartupItems nicht mehr up to date.
Zum automatischen Starten des Servers sollte man launchd einsetzen, da launchd den Server auch im laufenden Betrieb überwachen kann.

HTH
 
super vielen Dank, werde es nachher mal probieren!

Gruss

Asylum
 
Habe jetzt folgendes gemacht:
MySQL deinstalliert
MySQL 4.1 installiert
versucht das Root pw zu setzen - error 'mysql.sock' doesn't exist
versucht MySQL zu starten -
ibook:~ maltespielberger$ sudo /usr/local/mysql/bin/mysqld --user=mysql
050703 12:50:42 [Warning] Setting lower_case_table_names=2 because file system for /usr/local/mysql/data/ is case insensitive
050703 12:50:42 InnoDB: Operating system error number 13 in a file operation.
InnoDB: The error means mysqld does not have the access rights to
InnoDB: the directory.
InnoDB: File name ./ibdata1
InnoDB: File operation call: 'create'.
InnoDB: Cannot continue operation.

jetzt weiss ich net wie ich das mit dem MySQL User mache ..?!

//edit

mal ne andere Frage:
Im MySQL Manual steht das diese Befehle verwendet werden sollen
shell> cd /usr/local/mysql
shell> sudo ./bin/mysqld_safe
(Enter your password, if necessary)
(Press CTRL+Z)
shell> bg
(Press CTRL+D to exit the shell)

Du meinstest aber, ich soll sudo /usr/local/mysql/bin/mysqld --user=mysql verwenden. Wo liegt der unterschied zwischen den beidnen Befehlen?

Gruss
 
Zuletzt bearbeitet:
asylum schrieb:
Habe jetzt folgendes gemacht:
MySQL deinstalliert
MySQL 4.1 installiert
versucht das Root pw zu setzen - error 'mysql.sock' doesn't exist
versucht MySQL zu starten -
Klar das das nicht geht.
Du musst erst den Server starten und dann das Passwort setzen.

Der Server scheint wegen eines Rechteproblems nicht zu starten, das ist eigenartig, da Du ja sagst, du hättest MySQl komplett neu installiert.
Mach mal folgendes im terminal, und poste die Ausgaben:
cd /usr/local/mysql/
ls -l
cd data
ls-l


asylum schrieb:
mal ne andere Frage:
Im MySQL Manual steht das diese Befehle verwendet werden sollen
shell> cd /usr/local/mysql
shell> sudo ./bin/mysqld_safe
[...]

Du meinstest aber, ich soll sudo /usr/local/mysql/bin/mysqld --user=mysql verwenden. Wo liegt der unterschied zwischen den beidnen Befehlen?
...
mysqld_safe ist ein Shellskript, das den Server startet.
Es führt die Kommandos aus, die für das jeweilige System richtig sind.
Man kann das erforderliche Kommando aber auch selbst eingeben.

Ich hoffe, Dir ist klar, dass Du das Terminal offen lassen musst, wenn Du den Server so startest. Wenn Du im selben Terminalfenster wieder einen Prompt haben möchtest, musst Du am Ende des Kommandos noch ein & anhängen.

HTH
 
also im Ordner mysql ist folgendes drin:
-rw-r--r-- 1 root wheel 19071 May 10 22:57 COPYING
-rw-r--r-- 1 root wheel 5164 May 11 09:04 EXCEPTIONS-CLIENT
-rw-r--r-- 1 root wheel 8338 May 11 09:04 INSTALL-BINARY
-rw-r--r-- 1 root wheel 1937 May 10 22:57 README
drwxr-xr-x 55 root wheel 1870 May 11 09:26 bin
-rwxr-xr-x 1 root wheel 801 May 11 09:26 configure
drwxr-x--- 4 root wheel 136 Jul 3 12:50 data
drwxr-xr-x 5 root wheel 170 May 11 09:26 docs
drwxr-xr-x 61 root wheel 2074 May 11 09:26 include
drwxr-xr-x 10 root wheel 340 May 11 09:26 lib
drwxr-xr-x 3 root wheel 102 May 11 09:26 man
drwxr-xr-x 12 root wheel 408 May 11 09:26 mysql-test
drwxr-xr-x 3 root wheel 102 May 11 09:26 scripts
drwxr-xr-x 5 root wheel 170 May 11 09:26 share
drwxr-xr-x 31 root wheel 1054 May 11 09:26 sql-bench
drwxr-xr-x 14 root wheel 476 May 11 09:26 support-files
drwxr-xr-x 21 root wheel 714 May 11 09:26 tests
Fuer den Ordner data fehlen mir die Rechte...

Sorry aber das mit dem Terminalfenster hab ich nicht genau verstanden - also was du damit meinst ...
 
Wie Du siehst wurde MySQL nicht kürzlich gelöscht und neu installiert.
Also geht es ert mal hier weiter.

Viel Erfolg.
 
Zurück
Oben Unten