Maison > base de données > tutoriel mysql > le corps du texte

mysql autorise l'accès à distance

黄舟
Libérer: 2017-02-15 10:53:24
original
1286 Les gens l'ont consulté


mysql n'est pas accessible à distance par défaut.

quoi ! Comment est-ce possible ! Dongdong, que tout le monde a tant loué, est en fait une version autonome par défaut. C'est trop jouet.

En fait, ceci ne concerne que le MySQL nouvellement installé. Le mysql nouvellement installé n'a qu'un seul compte, qui est la racine de l'administrateur, et il n'est accessible que localement. Il ne semble y avoir rien de mal à cela (mais plus prudent ?).

Alors, comment pouvons-nous activer l'accès à distance, par exemple, permettre à d'autres machines du même LAN d'accéder à sa base de données ?

Supposons que la situation initiale du compte MYSQL nouvellement installé est la suivante :

+------+-----------+| user | host      |
+------+-----------+| root | 127.0.0.1 |
| root | ::1       || root | localhost |
+------+-----------+3 rows in set (0.14 sec)
Copier après la connexion
Copier après la connexion

Après une recherche en ligne, certains experts ont dit que vous pouvez changer l'hôte en '%', afin qu'il peut être utilisé par toutes les machines visitées.

Cependant, la situation que je rencontre actuellement est qu'il existe un système développé par un tiers et que nous devons lire les données de sa base de données. Par défaut, son compte est comme celui ci-dessus et n'est accessible que localement. Dois-je modifier son compte ? Il semble que le changement soit très minime et qu'il ne devrait y avoir aucun risque, mais cela semble toujours faux.

Cependant, fondamentalement, tous les tutoriels sur Internet sont basés sur l'argument du changement d'hôte en '%', et il existe de nombreux articles dans le monde.

Je pense que l'idée devrait être comme ceci :

1. Créer un utilisateur
. 2. Autorisez cet utilisateur à autoriser l'accès à distance

Après le test, l'opération a réussi. Les étapes sont les suivantes :
1. Créez un utilisateur

create user 'test' identified by '123456'
Copier après la connexion
Copier après la connexion

L'hôte de l'utilisateur ainsi créé est '%'

Si vous souhaitez limiter l'accès à un certaine IP, vous pouvez utiliser Jiangzi :

create user 'test'@'192.168.0.164' identified by '123456'
Copier après la connexion
Copier après la connexion

D'accord, maintenant vous avez créé un utilisateur et autorisé l'accès à distance

2. >

Ici toutes les autorisations de la base de données db1 Toutes affectées au test.
grant all on db1.* to test@'%';
Copier après la connexion
Copier après la connexion

De cette façon, test peut être utilisé pour accéder à la base de données mysql.

3. Effacez le mot de passe

Pour ce système tiers, son compte mysql est root et le mot de passe est vide. Comment l'écrire dans la chaîne de connexion ? Il s'avère qu'il existe trois façons d'écrire :


Toutes les réponses ci-dessus sont bonnes. Si vous vous connectez depuis la ligne de commande, vous pouvez faire ceci :
server=192.168.128.130; user id=test; password=;database=db1server=192.168.128.130; user id=test; password='';database=db1server=192.168.128.130; user id=test; database=db1
Copier après la connexion
Copier après la connexion
mysql -u test (Entrée)

pour vous connecter.

Alors comment effacer le mot de passe ? Vous pouvez Jiang Zi :

Je déplore l'excellence de MySQL. Il semble que son compte soit en réalité déterminé par le nom du compte hôte, ce qui équivaut à une clé primaire composite. Cette idée est très nouvelle. Très pratique aussi.
set password for test@'%'=password('');
Copier après la connexion
Copier après la connexion

Mysql n'est pas accessible à distance par défaut.

quoi ! Comment est-ce possible ! Dongdong, que tout le monde a tant loué, est en fait une version autonome par défaut. C'est trop jouet.

En fait, ceci ne concerne que le MySQL nouvellement installé. Le mysql nouvellement installé n'a qu'un seul compte, qui est la racine de l'administrateur, et il n'est accessible que localement. Il ne semble y avoir rien de mal à cela (mais plus prudent ?).

Alors, comment pouvons-nous activer l'accès à distance, par exemple, permettre à d'autres machines du même LAN d'accéder à sa base de données ?

Supposons que la situation initiale du compte MYSQL nouvellement installé est la suivante :

Après une recherche en ligne, certains experts ont dit que vous pouvez changer l'hôte en '%', afin qu'il peut être utilisé par toutes les machines visitées.
+------+-----------+| user | host      |
+------+-----------+| root | 127.0.0.1 |
| root | ::1       || root | localhost |
+------+-----------+3 rows in set (0.14 sec)
Copier après la connexion
Copier après la connexion

Cependant, la situation que je rencontre actuellement est qu'il existe un système développé par un tiers et que nous devons lire les données de sa base de données. Son compte est par défaut celui ci-dessus, accessible uniquement localement. Dois-je modifier son compte ? Il semble que le changement soit très minime et qu'il ne devrait y avoir aucun risque, mais cela semble toujours faux.

Cependant, fondamentalement, tous les tutoriels sur Internet sont basés sur l'argument du changement d'hôte en '%', et il existe de nombreux articles dans le monde.

Je pense que l'idée devrait être comme ceci :

1. Créer un utilisateur
. 2. Autorisez cet utilisateur à autoriser l'accès à distance


Après le test, l'opération a réussi. Les étapes sont les suivantes :
1. Créez un utilisateur


L'hôte de l'utilisateur ainsi créé est '%'
create user 'test' identified by '123456'
Copier après la connexion
Copier après la connexion

Si vous souhaitez limiter l'accès à un certaine IP, vous pouvez utiliser Jiangzi :

D'accord, maintenant vous avez créé un utilisateur et autorisé l'accès à distance
create user 'test'@'192.168.0.164' identified by '123456'
Copier après la connexion
Copier après la connexion

2. >

Ici toutes les autorisations de la base de données db1 Toutes affectées au test.

De cette façon, test peut être utilisé pour accéder à la base de données mysql.
grant all on db1.* to test@'%';
Copier après la connexion
Copier après la connexion

3. Effacez le mot de passe

Pour ce système tiers, son compte mysql est root et le mot de passe est vide. Comment l'écrire dans la chaîne de connexion ? Il s'avère qu'il existe trois façons d'écrire :

Toutes les méthodes ci-dessus fonctionneront. Si vous vous connectez depuis la ligne de commande, vous pouvez faire ceci :
mysql -u test (Entrée)

pour vous connecter.
server=192.168.128.130; user id=test; password=;database=db1server=192.168.128.130; user id=test; password='';database=db1server=192.168.128.130; user id=test; database=db1
Copier après la connexion
Copier après la connexion

Alors comment effacer le mot de passe ? Vous pouvez Jiang Zi :

Je déplore l'excellence de MySQL. Il semble que son compte soit en réalité déterminé par le nom du compte hôte, ce qui équivaut à une clé primaire composite. Cette idée est très nouvelle. Très pratique aussi.

Ce qui précède est le contenu auquel MySQL autorise l'accès à distance. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www.php.cn) !
set password for test@'%'=password('');
Copier après la connexion
Copier après la connexion
Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!