Riesenproblem mit Konsole nach MySQL-Problem

C

chrizke

Aktives Mitglied
Thread Starter
Dabei seit
28.10.2004
Beiträge
287
Reaktionspunkte
1
Hi,
ich habe gerade mit MySQL ein Problem gehabt - ich konnte keine neuen Datenbänke anlegen, also hab ich aufhttp://www.entropy.ch/software/macosx/mysql/ mal nachgelesen, ob es da irgendwas gibt. Ich dachte mir, proierst du folgenden Befehl mal aus:

echo 'export PATH=/usr/local/mysql/bin:$PATH' >> ~/.bash_profile

Und seit dem funktioniert weder MySQL noch sonst irgendetwas vernünnftig. Kann mir dabei wer helfen?


chrizke
 
Dann hast Du sicher Deinen Suchpfad zerschossen. Das ist eine Sammlung von Directories in denen zu startende Programme gesucht werden sollen.
Die Variable PATH enthält dabei schon eine Standardvorgabe. Den Inhalt kann man sehen, wenn man im Terminal

echo $PATH

eingibt ( DAs $-Zeichen sorgt dabei für die Ausgabe der Werte).
Sobald Du ein Terminal startest wird bash_profile abgearbeitet. Du hast nun in bash_profile geschrieben, daß PATH geändert werden soll...und vermutlich ist da ein fehler enthalten. Lade bash_profile mit einem Texteditor und entferne die Zeile

export PATH=...

dann sollte zunächst alles funktionieren.

Wenn Du den Pfad dann hinzufügen willst, schreib die Zeile einfach direkt in die Datei:

export PATH="$PATH:/Pfad/zu/mysql/bin:/pfad/nach/sonstwas"

Damit wird PATH gesetzt als

$PATH = der bisherige Inhalt
:/Pfad/zu/mysql/bin = Der Pfad zu Mysql wird an PATH angefügt. Der Doppelpunkt ist als Trennzeichen WICHTIG!

:/pfad/nach/sonstwas Du kannst beliebige weitere Pfade setzen

export sorgt dafür, daß auch andere Shells diese Variable in der Form kennen.

Wichtig ist der $PATH, sonst sind so elementare Verzeichnisse wie /bin oder /sbin weg! Danach zwischen ":" beliebige Suchpfade. Dabei sollten die selten gebrauchten Pfade an das Ende (Such-Zeiten). also mysql/bin hinten und nicht vorne Anfügen. Sonst werden auch alle Systembefehle erstmal im mysql-Verzeichnis gesucht.
 
Zuletzt bearbeitet:
Also ich hab mir jetzt den Path ausgegeben:
/usr/local/mysql/bin:/usr/local/mysql/bin:/usr/local/mysql/bin:/bin:/sbin:/usr/bin:/usr/sbin

Ist das so richtig? Bestimmt nicht, denn es klappt ja nix mehr.
Was muss ich denn eingeben, damit alles wieder so funktioniert, wie es soll?


chrizke
 
Wenn dies der einzige Eintrag in ./bash_profile ist,
dann lösch die .bash_profile einfach. Wenn nicht, dann füge
vorne eine #-Zeichen davor. Dann wird die Zeile nicht ausgeführt.
Also aus

export PATH=...
mache:
# export PATH=...

Schließ das Terminal ( es funktioniert ja nicht)

Mach ein neues auf, da dieses dann ohne bash_profile ist, sollte $PATH den korrekten Standardwert haben. Jetzt kannst Du wie oben beschrieben eine .bash_profile erstellen/ändern. Dort fügst Du

export PATH="$PATH:/usr/local/mysql/bin"

am Ende hinzu und dann sollten die alten Programme + MYSQL funktionieren! Wichtig ist, daß das $-Zeichen nur dann vor PATH steht, wenn der Inhalt von PATH ausgegeben werden soll. Nicht wenn ihr ein Wert zugewiesen werden soll!
 
sorry, wenn ich nerve, aber wo finde ich die bash-profile?
Was Unix angeht hab ich nämlich kaum Ahnung.



chrizke
 
In Deinem Home-Verzeichnis! Jeder user kann eine Eigene haben! Wenn nicht, werden die Systemstandards genommen. Deswegen schadet es auch nicht die eine Zeile zu inaktiveiren mit #. Du nervst auch nicht, jeder muß ja mal mit UNIX anfangen. Die dateien, die mit einem "." anfangen werden meist auch nicht angezeigt ( sogenannte Dot-dateien). mach mal ein terminal auf und gibt dort ein

ls -a .bash_profile

dann solltest Du sie finden. Mit

more .bash_profile

wird der Dateiinhalt dargestellt. Ist wirklich nur Deine Zeile in der Datei, kannst Du die Datei auch gleich mit

rm bash_profile

ganz löschen. In jedem andern Fall mußt Du die Datei laden und bearbeiten.
 
Danke, jetzt funktioniert wieder alles. Ich hab aber noch ne Frage:
Wenn ich ne neue Datenbank erstellen will, gibt der mir immer folgenden Fehler aus:
Access denied for user: '@localhost' to database 'lalala'
 
Als wer oder was bist Du denn bei mysql angemeldet? Es gibt für jede Art von SQL Zugriffsrechte (Privilegien). Auch für CREATE braucht man ein Recht ( wird mit grant erteilt). Schau dir mal die Manuals bei mysql.com an (*mitdemgesamtenSchwarzwaldwink*), da steht eigenltich alles mit Beispielen aufgelistet. (Notfalls auch auf Deutsch)!
 
Zurück
Oben Unten