2011-04-28 4 views
5

Je suis un débutant quand il s'agit de travailler avec des réseaux et autres, alors je m'excuse à l'avance. Il y a quelques temps, j'ai installé une base de données mySQL localement sur ma machine, et j'ai construit un certain nombre de programmes simples qui fonctionnent avec. (aka racine: sorte de chose localhost). Cela a été formidable, mais j'espère maintenant permettre à d'autres collègues de mon travail d'accéder à la base de données à partir de leurs machines, mais je n'ai aucune idée de comment. Il y aura probablement des problèmes de protection du réseau (pare-feu, etc.), et il faudra peut-être en tenir compte ... (bien que je dispose de l'aide de l'informatique, ni l'informatique ni moi-même ne savons vraiment ce qu'il faut 'à la base de données).Connexion à la base de données MySQL sur le serveur

Par exemple, est-ce juste une adresse IP dont j'ai besoin? Dois-je changer la configuration de ma base de données? Je comprends que localhost ne fonctionnerait pas à partir de l'ordinateur de mes collègues, pour des raisons évidentes, je n'ai aucune idée de ce qui se passerait à sa place pour que d'autres y accèdent. Cela ne me dérange pas non plus que mon ordinateur fonctionne en tant que machine de base de données dédiée ... Je ne serais pas en mesure de l'éteindre sur un serveur dédié ou quelque chose comme ça, au-delà de ma machine.

Toute aide serait grandement appréciée! Merci

EDIT: Merci pour les suggestions - les passeront demain quand je serai un peu plus réveillé! Ils ont l'air solide cependant.

Répondre

3

Tout d'abord, ce que vos collègues ont besoin sont:

  • L'adresse IP où le serveur MySQL est cours d'exécution.
  • utilisateur et mot de passe pour se connecter à distance
  • Demandez le port 3306 ouvert sur le réseau
  • Un client MySQL (MySQL Workbench, navigateur de requêtes MySQL, crapaud, heidi ou tout simplement l'outil de ligne de commande).

Lorsque vous créez utilisateur dans MySQL l'être quelque chose comme ceci:

'root'@'localhost' 

Cela signifie, l'utilisateur ne fonctionnera que si vous vous connectez depuis localhost à la racine de l'utilisateur. Ainsi, vous pouvez créer l'utilisateur autorisé à se connecter où que vous soyez:

'juanperez'@'%' 

Et enfin vous avez attention à ce que vous privilèges leur accordant. Ne pas oublier de commenter une ligne dans le fichier d'options de MySQL qui dit "bind-address" (cette option empêche la connexion à distance).

+0

Cool - merci beaucoup. Je vais donner un coup de feu demain. Port 3306 eh ..... va se pencher sur cela. – keynesiancross

4

Par exemple, est-ce juste une adresse IP dont j'ai besoin?

Oui. Vous serez beaucoup plus heureux si vous définissez des noms de domaine appropriés, mais un nom de domaine est juste un alias pour l'adresse IP.

Dois-je modifier la configuration de ma base de données? Non, mais ... Vous devez ajouter des informations d'identification pour prendre en charge les connexions distantes. C'est un changement, mais pas un changement de schéma. C'est les changements aux permissions. Je comprends que localhost ne fonctionnerait pas à partir de l'ordinateur de mes collègues, pour des raisons évidentes, je n'ai aucune idée de ce qui se passerait à sa place pour que d'autres y accèdent.

Quels outils d'administration MySQL utilisez-vous? Souvent, il y a une bonne aide là-bas.

Vous devez lire ceci: http://dev.mysql.com/doc/refman/4.1/en/connecting.html

ou ceci: http://dev.mysql.com/doc/refman/5.0/en/connecting.html

Quelle qu'en soit la version appropriée.

C'est très clair.

Un utilisateur est identifié par un nom d'utilisateur @ nom_hôte. Vous pouvez spécifier des adresses IP (ou même "%" pour le nom d'hôte.)

+0

Merci - donnera à ceux-ci un coup d'oeil demain – keynesiancross

2

Vous utiliserez de commande suivante pour se connecter -

mysql -u<user-id> -p<password> -h<your-hostname-or-ipaddress> 

Pour les applications fonctionnant sur des machines différentes qui tentent de se connecter à votre base de données, vous que besoin de remplacer « localhost » avec le nom d'hôte ou ipaddress de votre machine. En général, si vous pouvez envoyer une requête ping à votre machine à partir d'un système différent, votre base de données peut être connectée à partir de cette machine, utilisez simplement le nom que vous avez utilisé pour "ping" à la place de localhost.

+1

Bonne réponse! Cependant, il y avait un morceau qui manquait pour mon casse-tête. mysql -u -p -h --port si vous utilisez un port non-standard. Votre réponse m'a aidé à obtenir la plupart du temps là-bas. Merci. –

Questions connexes