Maison >base de données >tutoriel mysql >Comment effectuer une connexion à distance et un contrôle d'accès dans MySQL ?

Comment effectuer une connexion à distance et un contrôle d'accès dans MySQL ?

PHPz
PHPzoriginal
2023-07-29 21:10:551701parcourir

MySQL est un système de gestion de bases de données relationnelles couramment utilisé. Afin d'améliorer l'efficacité et la commodité, nous devons souvent nous connecter et accéder à distance à MySQL dans différents environnements. Cet article expliquera comment effectuer une connexion à distance et un contrôle d'accès dans MySQL et fournira des exemples de code correspondants.

  1. Modifier le fichier de configuration MySQL

Tout d'abord, nous devons modifier le fichier de configuration MySQL pour autoriser les connexions à distance. Recherchez le fichier my.cnf dans le répertoire d'installation de MySQL et ouvrez-le avec un éditeur de texte.

sudo nano /etc/mysql/my.cnf

Recherchez l'attribut bind-address dans le fichier, commentez-le ou modifiez sa valeur en 0.0.0.0. De cette façon, le serveur MySQL acceptera les connexions à distance depuis n'importe quelle adresse IP.

#bind-address = 127.0.0.1

Enregistrez et fermez le fichier, puis redémarrez le service MySQL pour que les modifications prennent effet.

sudo service mysql restart
  1. Accorder des autorisations d'accès à distance

Ensuite, nous devons créer un utilisateur dans MySQL qui autorise l'accès à distance et lui accorder les autorisations correspondantes. Ouvrez le client de ligne de commande MySQL.

mysql -u root -p

Entrez le mot de passe du super utilisateur MySQL et entrez dans l'interface de ligne de commande MySQL.

Créez un nouvel utilisateur et définissez un mot de passe.

CREATE USER 'remote_user'@'%' IDENTIFIED BY 'password';

Où, 'remote_user' est le nom d'utilisateur du nouvel utilisateur, 'password' est le mot de passe et % signifie autoriser les connexions à partir de n'importe quelle adresse IP. Si vous souhaitez uniquement autoriser les connexions à partir d'une adresse IP spécifique, vous pouvez remplacer % par l'adresse IP spécifique.

Donnez à cet utilisateur l'accès à toutes les bases de données.

GRANT ALL PRIVILEGES ON *.* TO 'remote_user'@'%';

Actualisez le tableau des autorisations système.

FLUSH PRIVILEGES;

Quittez le client de ligne de commande MySQL.

EXIT;
  1. Configurez le pare-feu

Si vous avez un pare-feu activé sur votre serveur, vous devez vous assurer que le port par défaut pour MySQL (généralement 3306) est ouvert. Vous pouvez utiliser la commande suivante pour afficher les règles de pare-feu actuelles.

sudo ufw status

Si le port par défaut de MySQL n'est pas ouvert, vous pouvez utiliser la commande suivante pour ouvrir le port.

sudo ufw allow 3306
  1. Connectez-vous à distance

Maintenant, nous pouvons utiliser l'exemple de code suivant pour nous connecter à la base de données à distance.

import mysql.connector

config = {
  'user': 'remote_user',
  'password': 'password',
  'host': 'your_server_ip',
  'database': 'your_database',
  'raise_on_warnings': True
}

cnx = mysql.connector.connect(**config)
cursor = cnx.cursor()

# 这里可以编写具体的数据库操作代码

cursor.close()
cnx.close()

Dans le code, vous devez remplacer 'remote_user' par le nom d'utilisateur de l'utilisateur distant précédemment créé et 'password' par le mot de passe correspondant. 'your_server_ip' et 'your_database' sont remplacés par l'adresse IP du serveur MySQL distant et le nom de la base de données à connecter en fonction de la situation réelle.

Avec les étapes et les exemples de code ci-dessus, nous pouvons implémenter une connexion à distance et un contrôle d'accès dans MySQL. De cette façon, nous pouvons facilement exploiter la base de données MySQL dans différents environnements et améliorer l'efficacité du travail.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn