MySQL-Zugriff von ausserhalb
MySQL-Zugriff von ausserhalb
am 11.12.2005 19:59:50 von Nick Weisser
Hallo Leute,
ich muss für einen MySQL-User von einer bestimmten IP-Adresse aus
Zugriff von aussen gewähren und habe dazu
1. in meiner my.cnf die Zeile bind-address = 127.0.0.1 auskommentiert
2. GRANT ALL PRIVILEGES ON database TO 'user'@'remote IP' IDENTIFIED BY
'pass' WITH GRANT OPTION; ausgeführt
und
3. MySQL neu gestartet
Dennoch bekomme ich eine Fehlermeldung, wenn ich von extern auf die
Datenbank zugreifen will:
SQL execution error # 1044
Access denied for user 'user'@'remote IP' to database 'database'
Die IP-Adresse ist korrekt - selbst, wenn ich für 'remote IP' ein %
benutze, kommt der Access denied Error.
Hat jemand eine Idee, was ich sonst noch übersehen haben könnte?
Wäre für jeden Tipp dankbar
Gruss
Nick
Re: MySQL-Zugriff von ausserhalb
am 11.12.2005 20:38:54 von Andreas Kretschmer
Andreas
--
Diese Message wurde erstellt mit freundlicher Unterstützung eines freilau-
fenden Pinguins aus artgerechter Freilandhaltung. Er ist garantiert frei
von Micro$oft'schen Viren. (#97922 http://counter.li.org) GPG 7F4584DA
Was, Sie wissen nicht, wo Kaufbach ist? Hier: N 51.05082°, E 13.56889° ;-)
Re: MySQL-Zugriff von ausserhalb
am 11.12.2005 21:09:03 von Nick Weisser
Hallo Andreas,
danke für das schnelle Feedback.
> skip-networking auch?
Ja. Das sieht bei mir jetzt so aus:
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
# bind-address = 127.0.0.1
>>Hat jemand eine Idee, was ich sonst noch übersehen haben könnte?
>
> Daß man MySQL nicht ins Internet prostituiert, sondern statt dessen
> Dinge wie SSH nutzt.
Prostitution wäre, wenn man die Verbindung von überall erlaubt. Bei nur
einer IP kann man nicht von Prostitution reden, denke ich.
Ausserdem ist es in diesem Fall nicht anders möglich.
Hast du sonst noch eine Idee, warum es nicht funzt?
Gruss
Nick
Re: MySQL-Zugriff von ausserhalb
am 11.12.2005 22:27:45 von Andreas Kretschmer
Andreas
--
Diese Message wurde erstellt mit freundlicher Unterstützung eines freilau-
fenden Pinguins aus artgerechter Freilandhaltung. Er ist garantiert frei
von Micro$oft'schen Viren. (#97922 http://counter.li.org) GPG 7F4584DA
Was, Sie wissen nicht, wo Kaufbach ist? Hier: N 51.05082°, E 13.56889° ;-)
Re: MySQL-Zugriff von ausserhalb
am 11.12.2005 22:47:06 von Axel Schwenke
Nick Weisser wrote:
> ich muss für einen MySQL-User von einer bestimmten IP-Adresse aus
> Zugriff von aussen gewähren und habe dazu
>
> 1. in meiner my.cnf die Zeile bind-address = 127.0.0.1 auskommentiert
>
> 2. GRANT ALL PRIVILEGES ON database TO 'user'@'remote IP' IDENTIFIED BY
> 'pass' WITH GRANT OPTION;
Ähem. RTFM: http://dev.mysql.com/doc/refman/5.0/en/grant.html
- Es gibt kein GRANT ... ON TO ... (ABER: .*)
- Ist WITH GRANT OPTION wirklich nötig?
- Eventuell möchtest du über SSL nachdenken. Das MySQL-Protokoll
ist praktisch Klartext.
> 3. MySQL neu gestartet
Das brauchst du bei GRANT nicht. RTFM
XL
Re: MySQL-Zugriff von ausserhalb
am 11.12.2005 22:51:23 von Dirk Brosowski
Andreas Kretschmer schrieb:
>
> Nein. Von Dingen wie zu prüfen, ob MySQL in der Tat am Port lauscht,
> fehlkonfigurierten Tischbrandschutzmauern etc. mal abgesehen...
Das tut es ganz offensichtlich, weil er schließlich eine
Access-denied-Meldung bekommt.
Er sollte mal einen "Ausdruck" der Rechte hier posten, dann wird sein
Problem sicher schnell erkannt.
Grüße
Dirk
Re: MySQL-Zugriff von ausserhalb
am 11.12.2005 23:51:22 von Nick Weisser
Dirk Brosowski wrote:
> Er sollte mal einen "Ausdruck" der Rechte hier posten, dann wird sein
> Problem sicher schnell erkannt.
Ich bin mir nicht ganz sicher, welche Rechte hier ausschlaggebend sind,
doch hier mal ein paar Details zu den relevanten Tabellen:
db:
Host localhost
Db database_name
User username
Select_priv Y
Insert_priv Y
Update_priv Y
Delete_priv Y
Create_priv Y
Drop_priv Y
Grant_priv N
References_priv Y
Index_priv Y
Alter_priv Y
Create_tmp_table_priv Y
Lock_tables_priv Y
tables_priv:
Host 84.227.200.65
Db database_name
User chitra
Table_name database_name
Grantor root@localhost
Timestamp 2005-12-11 18:54:19
Table_priv Select,Insert,Update,Delete,Create,Drop,Grant,Refe...
Column_priv
user:
Host %
User username
Password ********
Select_priv N
Insert_priv N
Update_priv N
Delete_priv N
Create_priv N
Drop_priv N
Reload_priv N
Shutdown_priv N
Process_priv N
File_priv N
Grant_priv N
References_priv N
Index_priv N
Alter_priv N
Show_db_priv N
Super_priv N
Create_tmp_table_priv N
Lock_tables_priv N
Execute_priv N
Repl_slave_priv N
Repl_client_priv N
ssl_type
ssl_cipher [BLOB - 0 Bytes]
x509_issuer [BLOB - 0 Bytes]
x509_subject [BLOB - 0 Bytes]
max_questions 0
max_updates 0
max_connections 0
Gruss
Nick
Re: MySQL-Zugriff von ausserhalb
am 12.12.2005 00:00:15 von Nick Weisser
Axel Schwenke wrote:
> Ähem. RTFM: http://dev.mysql.com/doc/refman/5.0/en/grant.html
>
> - Es gibt kein GRANT ... ON TO ... (ABER: .*)
Des Rätsels Lösung :-)
mit .* hinter dem Datenbanknamen klappt es wunderbar.
> - Ist WITH GRANT OPTION wirklich nötig?
Sag' du es mir.
> - Eventuell möchtest du über SSL nachdenken. Das MySQL-Protokoll
> ist praktisch Klartext.
Danke für den Hinweis.
Gruss
Nick
Re: MySQL-Zugriff von ausserhalb
am 12.12.2005 00:42:28 von Dirk Brosowski
Nick Weisser schrieb:
> Dirk Brosowski wrote:
>
>> Er sollte mal einen "Ausdruck" der Rechte hier posten, dann wird sein
>> Problem sicher schnell erkannt.
>
>
> Ich bin mir nicht ganz sicher, welche Rechte hier ausschlaggebend sind,
> doch hier mal ein paar Details zu den relevanten Tabellen:
>
> db:
>
> Host localhost
> Db database_name
> User username
> Select_priv Y
> Insert_priv Y
> Update_priv Y
> Delete_priv Y
> Create_priv Y
> Drop_priv Y
> Grant_priv N
> References_priv Y
> Index_priv Y
> Alter_priv Y
> Create_tmp_table_priv Y
> Lock_tables_priv Y
>
>
>
> tables_priv:
>
> Host 84.227.200.65
> Db database_name
> User chitra
> Table_name database_name
> Grantor root@localhost
> Timestamp 2005-12-11 18:54:19
> Table_priv Select,Insert,Update,Delete,Create,Drop,Grant,Refe...
> Column_priv
>
>
> user:
>
> Host %
> User username
> Password ********
> Select_priv N
> Insert_priv N
> Update_priv N
> Delete_priv N
> Create_priv N
> Drop_priv N
> Reload_priv N
> Shutdown_priv N
> Process_priv N
> File_priv N
> Grant_priv N
> References_priv N
> Index_priv N
> Alter_priv N
> Show_db_priv N
> Super_priv N
> Create_tmp_table_priv N
> Lock_tables_priv N
> Execute_priv N
> Repl_slave_priv N
> Repl_client_priv N
> ssl_type
> ssl_cipher [BLOB - 0 Bytes]
> x509_issuer [BLOB - 0 Bytes]
> x509_subject [BLOB - 0 Bytes]
> max_questions 0
> max_updates 0
> max_connections 0
Eine Ausgabe von "SHOW GRANTS FOR root@localhost" bzw. angepasst hätte
mir besser gefallen.
Auf jeden Fall gibst du dem User Rechte zum connect, aber keine Rechte
auf die Datenbank, dort hast du nur auf localhost Rechte eingeräumt.
Wenn du dann direkt mit z.B. "mysql -u username -D database -p"
connectest, dann bekommst du einen access denied.
Grüße
Dirk
Re: MySQL-Zugriff von ausserhalb
am 12.12.2005 00:59:12 von Axel Schwenke
Nick Weisser wrote:
> Axel Schwenke wrote:
>> - Ist WITH GRANT OPTION wirklich nötig?
>
> Sag' du es mir.
Was weiß ich denn, welche Rechte du dem User geben willst?
Allerdings ist "WITH GRANT OPTION" einigermaßen ungewöhnlich
für einen nicht-Superuser-Account, deswegen frage ich lieber
mal nach.
XL