Cet article explique comment configurer un utilisateur sur votre serveur MySQL® afin de se connecter à distance à une base de données MySQL.
Remarque :L'article vous montre comment vous connecter à une instance MySQL locale à un serveur. Pour les étapes correspondantes pour Cloud Databases, consultez Se connecter à une instance Cloud Database.
Pour effectuer ces étapes, vous devez disposer d'un accès au serveur local pour vous connecter en tant que root
Utilisateur MySQL.
Récupérer votre adresse IP
Vous devez connaître l'adresse IP (Internet Protocol) de l'ordinateur à partir duquel vous vous connectez. Vous pouvez récupérer ces informations en vous rendant sur l'un des sites suivants :
- https://icanhazip.com
- https://www.whatismyip.com
Accorder l'accès
Effectuez les étapes suivantes pour accorder l'accès à un utilisateur à partir d'un hôte distant :
-
Connectez-vous localement à votre serveur MySQL en tant que
root
user en utilisant la commande suivante :# mysql -u root -p
Vous êtes invité à entrer votre mot de passe root MySQL.
Remarque :Si vous accédez à MySQL sans saisir de mot de passe, envisagez d'exécuter l'
mysql_secure_installation
script, qui définit un mot de passe racine MySQL et met à jour d'autres paramètres pour augmenter la sécurité. Microsoft SQL Server ManagedServices peut vous aider à gérer vos instances de serveur SQL. -
Utiliser une
GRANT
commande au format suivant pour permettre l'accès à l'utilisateur distant. Assurez-vous de modifier1.2.3.4
à l'adresse IP que vous avez obtenue précédemment, etmy_password
au mot de passe que vous voulezfooUser
utiliser :mysql> GRANT ALL ON fooDatabase.* TO fooUser@'1.2.3.4' IDENTIFIED BY 'my_password';
Cette instruction accorde
ALL
autorisations au nouvel utilisateur lorsque l'utilisateur se connecte à partir de l'adresse IP spécifiée en utilisant le mot de passe spécifié.
Tester la connexion à distance
Pour tester la connexion à distance, accédez au serveur MySQL depuis un autre serveur Linux®. L'exemple suivant utilise 44.55.66.77
comme adresse IP du serveur MySQL :
# mysql -u fooUser -p -h 44.55.66.77
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 17
Server version: 5.0.45 Source distribution
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> _
Considérations
Lorsque vous configurez un utilisateur distant, tenez compte des informations suivantes :
-
Un utilisateur local est différent d'un utilisateur distant. Par exemple,
fooUser@localhost
n'est pas le même que[email protected]
. Si vous voulez que les deux utilisateurs aient les mêmes autorisations, vous devez dupliquer les autorisations. -
Nous vous déconseillons d'accorder
ALL
autorisations. Pour les utilisateurs standard, nous recommandons d'accorderGRANT SELECT,INSERT,UPDATE,DELETE
autorisations. -
Pour accorder l'accès à une table spécifique uniquement, vous pouvez utiliser le
database.table
commande. Par exemple, à l'étape précédente, vous pouvez utiliserfooDatabase.fooTable
au lieu defooDatabase
. -
Si vous utilisez iptables, vous devez ajouter une entrée à votre règle de pare-feu pour le port 3306 du protocole TCP (Transmission Control Protocol). Vous pouvez utiliser le nom
mysql
pour le numéro de port.