Tezkatlipoka wrote:Ich bekomme folgende Fehler Meldung:
- Code: Select all
Error 1054 (28000): Access denied for user 'ODBC'@'localhost' (using password: NO)
Das ist genau das Problem, Du mußt einen Usernamen, das Passwort und eine Datenbank (letzeres optional) angeben.
Der Username (und das Passwort) sind
nicht Windows User, sondern MySQL User. Bei einer vollständig neuen und jungfräulichen Installation ist der einzige User "root" und hat kein Passwort. Die Angaben über den User und das Passwort macht man auf der Kommandozeile:
- Code: Select all
mysql --user=root --password=xxxxx
Da "root" wahrscheinlich kein Passwort besitzt, brauchst Du auch keines anzugeben:
- Code: Select all
mysql --user=root
Jetzt ist allerdings noch keine Datenbank geöffnet, die könntest Du auch gleich auf der Kommandozeile mit angeben, meistens ist eine Datenbank mit dem Namen "test" schon voreingerichtet:
- Code: Select all
mysql --user=root --password=xxxxxx test
oder (ohne Passwort)
- Code: Select all
mysql --user=root test
Wenn die Anmeldung erfolgreich war, siehst Du ungefähr die folgende Meldung:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.0.51a Source distribution
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>
Der sog. "Prompt" (die Eingabeaufforderung) ist dieses "mysql> " - dort kannst Du nun SQL Befehle eingeben. Ein Befehl muss mit einem Semikolon (oder \g - kann man aber schlecht eingeben) abgeschlossen werden.
Wenn Du zum Beispiel beim Starten keine Datenbank angeben hast, oder falls Du eine andere Datenbank öffnen willst, gibst Du diesen Befehl ein (den Prompt habe ich zur besseren Lesbarkeit vorangestellt):
- Code: Select all
mysql> USE mysql;
und schickst mit der Returntaste ab. Wenn es gut gegangen ist, hast Du jetzt die Datenbank "mysql" geöffnet und bekommst erneut den Eingabeprompt angezeigt.
Du könntest auch stattdessen erst einmal eine eigene Datenbank anlegen, nennen wir sie "meinedaten":
- Code: Select all
mysql> CREATE DATABASE meinedaten;
Du bekommst nach dem Absenden eine Rückmeldung, dass das (hoffentlich) geklappt hat und dann siehst Du wieder den Prompt. Nun kannst Du diese Datenbank auswählen (durch das Anlegen alleine ist sie noch nicht ausgewählt):
- Code: Select all
mysql> USE meinedaten;
Die SQL-Befehle habe ich hier gross geschrieben, das ist
nicht notwendig, aber ich habe mir das als Stil angewöhnt, um offensichtlich reservierte SQL-Begriffe von Eigennamen (meinedaten beispielsweise) zu unterscheiden. In MySQL sollten Eigennamen in sog. "Backticks" stehen, denn wenn sie identisch sind mit einem reservierten SQL-Wort, dann strauchelt der SQL-Interpreter:
- Code: Select all
mysql> USE `meinedaten`;
Das ist aber nicht unbedingt notwendig, wenn es nicht mit reservierten Begriffen kollidiert. Ich lasse es gerne weg (und bin gezwungen, nicht reservierte Namen zu benutzen), weil die Backticks nur von MySQL verstanden werden, aber nicht von anderen SQL-Systemen.
Mit der Eingabe von "quit" oder "exit", wieder gefolgt von Semikolon, beendest Du die Konsole:
- Code: Select all
mysql> quit;
Man kann zusätzlich zum User, Passwort und Datenbank auch noch einen "Host" angeben (das ist die Stelle, wo der Datenbankserver läuft), wenn man das nicht tut (wie im oberen Beispiel), nimmt MySQL automatisch den lokalen PC mit dem Namen "localhost".
Und wenn man auch keinen User angibt, dann benutzt MySQL den Namen "ODBC" und nun erklärt sich die Fehlermeldung - MySQL hat erfolglos versucht "ODBC@localhost" zu öffnen (User "ODBC" auf dem Rechner "localhost" ohne Passwort), denn den User ODBC gibt es nicht auf Deiner Installation.
Alle weiteren SQL-Statements (CREATE TABLE, SELECT, ....) kannst Du in der Konsole nun eingeben - aber dazu brauchst Du sicherlich erst einmal ein Tutorial und ein dickes Buch, was man mit SQL alles machen kann.