2011-10-04 5 views
0

Je rencontre un problème lors de la connexion à un serveur MySQL sur deux domaines de confiance différents.
Nous développons une application pour un usage interne et avons utilisé MySQL jusqu'à maintenant. C'est une application de bureau écrite en vb.net.
Jusqu'à maintenant tous les utilisateurs étaient sur le même domaine et il n'y avait pas de problèmes. Récemment, il y a eu une décision de plus haut niveau de diviser les utilisateurs dans deux domaines différents pour diverses raisons.
Le problème est que les utilisateurs du nouveau domaine ne peuvent pas accéder au serveur. Si cela aide, les administrateurs m'ont dit que les utilisateurs des deux domaines sont approuvés. Les deux machines sont en cours d'exécution Windows Server - 2003 et 2008.
Le port du serveur est ouvert, les subventions sont là-bas (BASE_CLASS @%) mais sur tentative -Impossible de se connecter au serveur MySQL sur différents domaines

Accès refusé pour l'utilisateur BASE_CLASS @ datablock2.

Quel est le problème?

Répondre

0

Dans MySQL, les autorisations sont accordées par domaine. En d'autres termes, les autorisations accordées à un utilisateur se connectant à partir du domaine local n'existent pas pour un utilisateur se connectant à partir d'un domaine différent. Le même utilisateur qui se connecte à partir d'un domaine différent est traité comme un accesseur différent. La raison est de fournir une protection contre les abus. Par exemple, je configure personnellement mes serveurs pour accorder des autorisations potentiellement dangereuses uniquement aux utilisateurs se connectant à partir de la machine locale. Vous devez être connecté physiquement à la machine serveur pour supprimer les données critiques! Essayez d'accorder des autorisations au serveur pour chaque utilisateur de chaque domaine auquel il se connectera spécifiquement. N'utilisez pas de jokers du tout. Profitez de la couche de sécurité supplémentaire pour créer un domaine pour l'administration et un pour les tâches moins critiques.

+0

Merci pour ça! Je ne connaissais pas les autorisations basées sur le domaine de MySQL. Malheureusement, la création, la modification et l'administration du domaine sont hors de mon contrôle. Je dois travailler sur une base de travail. Je vais juste devoir trouver un moyen de le faire fonctionner dans l'environnement actuel. – nnikolov06

+0

Pas possible!J'ai voté pour la solution de Chris, parce que convaincre les admins de la vérité est votre seul espoir. Bonne chance. –

+0

J'ai eu de l'aide d'administrateurs. J'ai suivi votre conseil et ils ont dit qu'ils modifieraient les approbations de domaine et définiraient différents niveaux d'autorisations utilisateur par domaine et par utilisateur. Merci! – nnikolov06

1

L'accès refusé signifie que les clients se connectent, mais ne disposent pas des droits appropriés. Donc, concentrez-vous sur les droits grant pour ces utilisateurs. Notez que MySQL utilise * pour des caractères génériques dans GRANT requêtes, pas %, donc la aussi requête de subvention doit être

GRANT ... ON database.* TO [email protected] 

noter que si vous utilisez des noms d'hôtes (datablock2) dans vos requêtes de subvention, que vous aurez besoin d'un configuration DNS correctement configurée afin que MySQL puisse inverser la recherche de l'IP de connexion à un nom d'hôte. Les noms d'hôte ne sont pas présents au niveau TCP/IP et MySQL ne voit jamais qu'une adresse IP. Pour correspondre aux noms d'hôte, il doit faire la recherche inversée. Si cette recherche échoue, elle disparaîtra purement IP.

+0

Je vais vérifier cela le matin. J'espère que c'est juste une question de moi qui ne fixe pas les droits. – nnikolov06

1

IMO, ce n'est pas une tâche de développement, c'est une tâche sysadmin et/ou DBA. Concevez donc un scénario de test à l'aide de MS Query et transmettez-le à sysadmins/DBA pour le déterminer. ex: une configuration ODBC, et une instruction SQL à exécuter via MS Query, qui devrait (en théorie) fonctionner, et qui aurait fonctionné avant la scission. Démontrez que cela fonctionne pour les utilisateurs de l'ancien domaine. Dites-leur de vous faire savoir quand cela fonctionne pour le nouveau domaine. Sinon, ils continueront à blâmer votre application VB.

+0

Je suis d'accord avec vous. Malheureusement dans la situation actuelle, je vais devoir le faire moi-même et par 7/10. Les administrateurs système indiquent seulement que toutes les relations entre les domaines sont correctes et que c'est mon problème de connectivité pour différents utilisateurs. – nnikolov06

Questions connexes