Bekijk Volledige Versie : privileges toekennen aan mysql gebruikers vanaf werkstation op mysql install server
DionysiusCato
03/08/13, 23:02
Misschien een beetje of topic maar wellicht ook weer niet. Met veel pijn (ergenis) en moeite is het me eindelijk gelukt om MySQL opnieuw te installeren op mijn test server welke draait op het zelfde OS als mijn productie server (Windows 2008R2) maar het lukt mij voor geen meter om vanaf mijn werkstation een aangemaakte gebruiker via mijn Navicat applicatie op mijn werkstation die gebruiker privileges toe te kennen op de MySQL installatie op mijn server... WTF..
Nergens op dev forum MySQL (Oracle) een bevredigend antwoord gevonden dus wellicht hier.
GRANT ALL ON <database>.* to <user>@<IP/Hostname> identified by 'password';
en daarna een flush privileges;
...
Je hebt de logische stappen al gevolgd neem ik aan, staat je firewall poort open, draait de mysql op alle beschikbare ip adressen of enkel localhost, heb je de mysql user access gegeven dat hij vanaf de workstation mag connecten op mysql server. Wat is er verder in de log files terug te vinden of kun je met wireshark zien of de data ook effectief tot bij de server geraakt.
DionysiusCato
03/08/13, 23:45
GRANT ALL ON <database>.* to <user>@<IP/Hostname> identified by 'password';
en daarna een flush privileges;
...
Ik wil feitelijk gewoon met mijn Navicat voor MySQL de MySQL database server op mijn Windows Server elke gebruiker die ik aanmaak op afstand die privileges geven aan die databases die ik op afstaan aanmaak. Die syntax die je hier mij geeft heb ik eerder gebruikt en geeft alleen maar SQL syntax fout.
Dan doe je iets verkeerd denk ik... welke mysql versie, heb je firewall, luistert mysql naar externe zijn externe poort?
DionysiusCato
03/08/13, 23:47
Je hebt de logische stappen al gevolgd neem ik aan, staat je firewall poort open, draait de mysql op alle beschikbare ip adressen of enkel localhost, heb je de mysql user access gegeven dat hij vanaf de workstation mag connecten op mysql server. Wat is er verder in de log files terug te vinden of kun je met wireshark zien of de data ook effectief tot bij de server geraakt.
MySQL heeft inderdaad toegang via de firewall en ik inderdaad op afstand de MySQL database server benaderen en databases en gebruikers aanmaken maar ik kan maar niet die gebruikers die ik op afstand heb aangemaakt die privileges geven op de databases die ik eveneens op afstand heb aangemaakt.
De gebruikelijke GRANT ALL ON... heb ik reeds gebruikt.
- - - Updated - - -
Dan doe je iets verkeerd denk ik... welke mysql versie, heb je firewall, luistert mysql naar externe zijn externe poort?
Yes - extern luistert deze naar poort 3307 en niet de standaard 3306
DionysiusCato
03/08/13, 23:58
Dan doe je iets verkeerd denk ik... welke mysql versie, heb je firewall, luistert mysql naar externe zijn externe poort?
Ik werk met MySQL 5.6 Community Edition en mysql luistert naar 3307, mysql server is extern bereikbaar binnen mijn LAN
DionysiusCato
04/08/13, 00:07
Ik heb het volgende gedaan
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.57' IDENTIFIED BY 'mijnwachtwoord';
FLUSH PRIVILEGES;
Maar wat ik feitelijk wil is via mijn werkstation op afstand elke nieuwe gebruiker die ik aanmaak die privileges te geven zonder elke keer op de commandline van de MySQL database server die privileges te regelen.
Als ik nu op afstand dit doe krijg ik een 1044 - Access denied for user 'root'@'192.168.1.57' to database 'blogman35x'
En als je de grants bekijkt op die sql user?
systemdeveloper
04/08/13, 11:12
Kijk eerst maar eens welke grants je al hebt staan voor user 'root'. Je kunt namelijk wel grants gaan toevoegen, maar die worden in volgorde afgehandeld voor mysql waarbij de eerste die aan de voorwaarden voor host, db en username voldoet, getest wordt.
Als je dus vóór je root@192.168... grant nog iets hebt zoals root@% met een ander wachtwoord, dan zal je laatste grant nooit gaan werken.
Kijk eerst maar eens welke grants je al hebt staan voor user 'root'. Je kunt namelijk wel grants gaan toevoegen, maar die worden in volgorde afgehandeld voor mysql waarbij de eerste die aan de voorwaarden voor host, db en username voldoet, getest wordt.
Als je dus vóór je root@192.168... grant nog iets hebt zoals root@% met een ander wachtwoord, dan zal je laatste grant nooit gaan werken.
En die staat erin als localhost he :)
systemdeveloper
04/08/13, 12:23
En die staat erin als localhost he :)
Ik weet niet wat bij hem staat, maar ik gok op een '%' als domein. Localhost zou niet uit moeten maken omdat het een remote connectie is (als ik alles goed gelezen heb)
Ik weet niet wat bij hem staat, maar ik gok op een '%' als domein. Localhost zou niet uit moeten maken omdat het een remote connectie is (als ik alles goed gelezen heb)
Makkelijker discussieren als hij z'n grants table even laat zien :)
systemdeveloper
04/08/13, 12:28
Makkelijker discussieren als hij z'n grants table even laat zien :)
Idd. in de mysql 'db' tabel zou het moeten staan.
DionysiusCato
04/08/13, 16:06
11062
Omdat ik uiteindelijk toch phpmyadmin aan de praat kreeg door de poort te wijzigen in de my.ini file in mysql van poort 3307 naar 3306 kon ik dit schermprintje maken.
systemdeveloper
04/08/13, 16:56
je remote ip voldoet aan '%', je 'root' user voldoet aan 'Any', echter daarop heb je geen password en (default) ook geen privileges.
Als je dus remote probeert in te loggen (als root) zal hij je credentials matchen met de eerste regel ipv. de 3de ;)
Dus je moet die 'Any' gewoon dumpen. Toch al te riskant en de enige reden waarom je dat onder windows hebt is omdat er onder windows geen 'mysql_secure_installation' script aanwezig is zoals bij *nix versies wel.
DionysiusCato
22/08/13, 19:24
Gentlemen, ladies (if present) ik dank u voor uw bijdragen. Het bleek echter een gevalletje oude configuratie bestanden te zijn die onder de programdata folder voor de desbetreffende mysql installatie nog aanwezig waren. Die folder heb ik geleegd, verwijderd en daarna een verse installatie van MySQL gedaan en daarmee was het probleem verder opgelost. Poort opgezet in de firewall for MySQL installatie en klaar was klara.
Zo zie je maar dat bij de-installeren er toch restjes overblijven.
Dank in elk geval. Nu op naar een nieuw probleem en ... een oplossing.
Dank.