SUCHE MIT Google
Web virtualuniversity.ch
HOME DIDAKTIK ECDL ELEKTRONIK GUIDES HR MANAGEMENT MATHEMATIK SOFTWARE TELEKOM
DIENSTE
Anmeldung
Newsletter abonnieren
Sag's einem Freund!
VirtualUniversity als Startseite
Zu den Favoriten hinzufügen
Feedback Formular
e-Learning für Lehrer
Spenden
Autoren login
KURSE SUCHEN
Kurse veröffentlichen

Suche nach Datum:

Suche mit Schlüsselwort:

Suche nach Land:

Suche nach Kategorie:
PARTNER
ausbildung24.ch - Ausbildungsportal, Seminare, Kursen... 

 
HTMLopen.de - Alles was ein Webmaster braucht

 
PCopen.de - PC LAN Netze und Netzwerke - alles was ein IT Profi und Systemtechnicker braucht

SOFTWARE



Checkliste bei Zugriffsproblemen

Wieso es beim Zugriff auf MySQL zu Access denied-Meldungen kommen kann, hat viele mögliche Ursachen. Die folgende Checkliste sollte deshalb gründlich durchgearbeitet werden.

  • Wurden dieMySQL Grant-Tabellen mittels des Scipts: mysql_install_dberzeugt ? Um dies zu testen, sollte der Befehl mysql-u root test ausgeführt werden, welcher keine Fehlermeldungerzeugen sollte. Ferner kann geprüft werden, ob eine Dateimit dem Namen user.ISD im Datenbankverzeichnis(Installationsverzeichnis/var/mysql/user.ISD)vorhandenist.
  • Nach einerErstinstallation sollte mittels mysql -u root mysqleine Verbindung auf die Grant-Tabellen erfolgen und alleRechte gesetzt werden.
  • Nach jederÄnderung in der Zugriffsberechtigung ist ein mysqladminreload erforderlich, damit die Änderungen auch greifen.Zum testen kann der mysqld-Daemon mit der Option--without-grant-tables gestartet werden. Dann könnendie Grant-Tabellen angepaßt und mittels mysqlaccessüberprüft werden. Mittels mysqladmin reload wirdder Daemon mit den geänderten Grant-Tabellen neu gestartet.
  • Auch bei Zugriffsproblemen von PERL, Python oder ODBC aus sollten die Tests mittels mysql -u User Database oder mysql -u User -pPassword Database durchgeführt werden. Zwischen dem Schalter -p und dem eigentlichen Paßwort ist kein Leerzeichen erlaubt. Die Syntax --password=Passwordkann statt dessen verwendet werden.
  • Kommt es zu der Meldung Access denied beim Zugriff mittels mysql -u user database liegt dies an einer nicht korrekten Einstellung in der user-Tabelle. Zur Überprüfung sollte man sich mittels mysql -u root mysql verbinden und die Tabellen durch das Kommando select * from user anzeigen lassen. In der Tabelle muß auf alle Fälle ein Eintrag für User und Hostname enthalten sein, welcher mit dem aktuellen Benutzer und Host übereinstimmt. Werden Client und Server auf dem gleichen Host ausgeführt, und es wurde nicht die mysql- Option --host sowie das MIT-pthread-Packet verwendet, ist localhost ein Synonym für den Hostnamen.
  • Die Access denied-Meldung zeigt zusätzlich an, mit welchem Benutzernamen, von welchem Host aus man einen Connect aufbauen wollte und ob man ein Paßwort verwendet oder nicht. In der user-Tabelle sollte ebenfalls ein Eintrag enthalten sein, der mit diesen Angaben (User und Hostname) genau übereinstimmt.
  • Kommt es zu der Meldung Host... is not allowed to connect to this MySQL server beim Verbindungsaufbau von einem anderen Host aus, ist in der user Tabelle der entsprechende Eintrag, welcher diesen Host betrifft nicht vorhanden. Der fehlende Eintrag sollte auf bekannte Weise erstellt werden. Verwendet man nicht MySQL 3.22 und man kennt nicht die IP bzw. den Hostnamen, von welchem man sich connecten will, sollte & als Hostname in der Tabelle user eingetragen und der mysql-Daemon mit der Option -log neu gestartet werden. Nach einem erneuten Verbindungsversuch findet man in dem MySQL-Logfile die genaue Bezeichnung des Hostnamens.
  • Wenn eine Verbindung mittels mysql -u root test funktioniert aber mysql -h hostname -u root test die Meldung Access denied... verursacht, liegt dies daran, daß der Hostname in der user-Tabelle nicht korrekt ist. Dies kann dann passieren, wenn der Hostname z.B. als tcx definiert wurde der DNS aber den Namen als tcx.subnet.se auflöst. Zum testen dieser Situation sollte man statt des Hostnamens die IP-Adresse eintragen. Alternativ kann auch der Hostname mittels tcx% eingetragen werden, was aber sehr unsicher ist.
  • Wenn man nicht feststellen kann, weshalb weiterhin die Meldung Access denied... erzeugt wird, sollte man alle Hostnamen-Einträge die einen Wildcard (%< oder _) beinhalten aus der user- Tabelle entfernen. Oft geht man davon aus, daß man mittels des Eintrags Host=% und user=User die Möglichkeit hat, sich von dem lokalen Host (localhost) aus zu connecten. Der Grund, warum dies nicht funktioniert ist, daß der Eintrag host=localhost und user= vor dem Eintrag host=% und user=user bevorzugt wird! Um dies zu beheben sollte ein Eintrag host=localhost und user= user erstellt oder der Eintrag user= entfernt werden.
  • Werden die MIT-pthreads verwendet, wird localhost nie verwendet! Alle Verbindungen zu dem mysqld-Daemon erfolgen mittels TCP/IP, weshalb der richtige Hostname in der user-Tabelle vorhanden sein muß, selbst dann, wenn der Client auf dem selben Host ausgeführt wird wie der Server.
  • Bei der Fehlermeldung Access to database denied liegt ein Problem in der db-Tabelle vor. Beinhaltet der entsprechende Eintrag in der db-Tabelle einen leeren Hostname sollte ebenfalls die host-Tabelle überprüft werden.
  • Funktioniert der Befehl mysql -u user database auf der Server-Maschine aber nicht mysql -h host -u user database auf einer anderen Client-Maschine, dann fehlt der entsprechende Eintrag in der user oder db-Tabelle für diese Client-Maschine.
  • Alle Paßwörter müssen mit der PASSWORD-Funktion eingegeben werden.
  • Wenn mysql -u user test funktioniert, aber mysql -u user andere_database nicht, fehlt der entsprechende Eintrag für andere_database in der db-Tabelle.
  • Kommt es bei den SQL-Befehl SELECT...INTO OUTFILE oder LOAD DATA zu der Meldung: Access to database denied wurden vermutlich die File_priv Berechtigungen in der user-Tabelle nicht gesetzt.
  • Sollte die Fehlersuche dennoch negativ verlaufen, ist der mysqld-Daemon mit der Option: --debug=d,general,query zu starten. Dadurch werden Informationen zu dem Host und User, welcher eine Verbindung aufbauen will, sowie über jedes ausgeführte Kommando ausgegeben. Ist der Fehler dennoch nicht zu finden und man möchte eine entsprechende Anfrage an die Mailingliste richten, sollte ein Auszug der Grant-Tabellen beigefügt werden.
  • Bei der Meldung Cant connect to local mySQL server oder Cant connect to MySQL server on hostname kann davon ausgegangen werden, daß der mysqld-Daemon nicht läuft oder daß man versucht auf einen falschen Port oder Socket zu connecten. Hierzu sollte man prüfen, ob der Socket vorhanden ist (normalerweise /tmp/mysql.socket) oder eine Verbindung mittels telnet hostname 3306 aufbauen. Durch mysqladmin version können ebenfalls weitere Informationen ausgegeben werden.
  • Verwendet man einen Client ohne Angabe von Parametern sollte man prüfen ob ggf. noch falsche Paßwörter in den Konfigurations-Dateien vorhanden sind.
DIPLOMARBEITEN UND BÜCHER

Diplomarbeiten zum Runterladen:

Suche im Katalog:
Architektur / Raumplanung
Betriebswirtschaft - Funktional
Erziehungswissenschaften
Geowissenschaften
Geschichtswissenschaften
Informatik
Kulturwissenschaften
Medien- und Kommunikationswissenschaften
Medizin
Psychologie
Physik
Rechtswissenschaft
Soziale Arbeit
Sozialwissenschaften


JOBS
HOME | E-LEARNING | SITEMAP | LOGIN AUTOREN | SUPPORT | FAQ | KONTAKT | IMPRESSUM
Virtual University in: Italiano - Français - English - Español
VirtualUniversity, WEB-SET Interactive GmbH, www.web-set.com, 6301 Zug

Partner:   Seminare7.de - PCopen.de - HTMLopen.de - WEB-SET.com - YesMMS.com - Ausbildung24.ch - Manager24.ch - Job und Karriere