Maison  >  Article  >  base de données  >  Comment résoudre l'erreur MySQL 113

Comment résoudre l'erreur MySQL 113

藏色散人
藏色散人original
2023-02-14 09:54:452633parcourir

Solution d'erreur Mysql 113 : 1. Désactivez le pare-feu de la machine distante ou autorisez le numéro de port 3306 dans le pare-feu ; 2. Configurez la base de données pour autoriser l'accès à distance, via l'instruction "accorder privilègesCode sur dbName.tableName au nom d'utilisateur". @host identifié par "mot de passe ";" autorise simplement l'hôte correspondant.

Comment résoudre l'erreur MySQL 113

L'environnement d'exploitation de ce tutoriel : système centos7, MySQL version 5.7, ordinateur Dell G3.

erreur mysql 113 comment la résoudre ?

113 Erreur mysql_mysql ajouter, autoriser, supprimer des utilisateurs et se connecter à la base de données Impossible de se connecter au serveur MySQL sur '192.168.31.106' (113) Dépannage d'erreur...

centos7 Les opérations suivantes mysql ajouter, autoriser, supprimer utilisateurs

Ajouter un utilisateur

Connectez-vous à la base de données en tant qu'utilisateur root et exécutez la commande suivante :

create user test identified by '123456789';

Le test utilisateur a été créé ci-dessus et le mot de passe est 123456789. Nous pouvons voir les informations utilisateur nouvellement ajoutées dans la table mysql.user

+------+----------------+-------------------------------------------+
| user | host | password |
+------+----------------+-------------------------------------------+
| test | % | *CC67043C7BCFF5EEA5566BD9B1F3C74FD9A5CF5D |
+------+----------------+-------------------------------------------+

Authorization

Format de commande : accorder des privilègesCode sur dbName.tableName au nom d'utilisateur@host identifié par "mot de passe" ;

MariaDB [test]> grant all privileges on test.* to 'test'@'%' identified by '123456789';
Query OK,0 rows affected (0.00sec)
MariaDB [test]>flush privileges;
Query OK,0 rows affected (0.00 sec)

L'instruction ci-dessus testera la table Tout fonctionne les autorisations sont accordées au test utilisateur et le mot de passe est 123456789. De même, nous vérifions les informations de mysql.user

select user,host,password, Select_priv,Insert_priv, Update_priv ,Delete_priv from user where user='test';+------+----------------+-------------------------------------------+-------------+-------------+-------------+-------------+
| user | host | password | Select_priv | Insert_priv | Update_priv | Delete_priv |
+------+----------------+-------------------------------------------+-------------+-------------+-------------+-------------+
| test | % | *CC67043C7BCFF5EEA5566BD9B1F3C74FD9A5CF5D | Y | Y | Y | Y |
+------+----------------+-------------------------------------------+-------------+-------------+-------------+-------------+
1 rows in set (0.00 sec)

Vous pouvez également utiliser la commande show grants pour afficher les informations d'autorisation autorisées

show grants for 'test';+--------------------------------------------------------------------------------------------------------------+
| Grants for test@% |
+--------------------------------------------------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'test'@'%' IDENTIFIED BY PASSWORD '*CC67043C7BCFF5EEA5566BD9B1F3C74FD9A5CF5D' |
| GRANT ALL PRIVILEGES ON `test`.* TO 'test'@'%' |
+--------------------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)

privilegesCode indique le type d'autorisations accordées . Les plus couramment utilisés sont les types suivants [1] :

tous les privilèges : tous les privilèges.

select : autorisation de lecture.

delete : supprimer l'autorisation.

mise à jour : mettre à jour les autorisations.

create : créer une autorisation.

drop : Supprimer les autorisations de la base de données et de la table de données.

dbName.tableName indique la bibliothèque ou la table spécifique à laquelle les autorisations sont accordées. Les options suivantes sont couramment utilisées :

. : Accorder des autorisations à toutes les bases de données de ce serveur de base de données.

dbName.* : accordez des autorisations à toutes les tables de la base de données dbName.

dbName.dbTable : accordez des autorisations sur la table dbTable dans la base de données dbName.

username@host représente l'utilisateur accordé et l'adresse IP à laquelle l'utilisateur est autorisé à se connecter. Il existe plusieurs types d'hôtes :

localhost : seul l'utilisateur est autorisé à se connecter localement, pas à distance.

% : Autoriser la connexion à distance depuis n'importe quelle machine à l'exception de cette machine.

192.168.52.32 : L'IP spécifique signifie que l'utilisateur n'est autorisé à se connecter qu'à partir de l'IP spécifique.

mot de passe spécifie la page de connexion de l'utilisateur.

flush privilèges signifie actualiser les modifications d'autorisation.

Changer le mot de passe

update mysql.user set password = password('123') where user = 'test' and host = '%';
flush privileges;

Supprimer l'utilisateur

drop user test@'%';

La commande drop user supprimera l'utilisateur et les autorisations correspondantes. Après avoir exécuté la commande, vous constaterez que les enregistrements correspondants dans la table mysql.user et la table mysql.db ont disparu. .

Résumé

Lorsque nous déployons le code, nous devons créer un utilisateur et accorder des autorisations pour faire fonctionner la base de données. Ensuite, nous pouvons utiliser la commande :

grant privilegesCode on dbName.tableName to username@host identified by "password";

Il convient de noter que lorsque nous exploitons les autorisations, nous devons. sélectionnez l'hôte, c'est-à-dire les adresses autorisées telles que

localhost : autorisez uniquement l'utilisateur à se connecter localement, pas à distance.

% : Autoriser la connexion à distance depuis n'importe quelle machine à l'exception de cette machine.

192.168.52.32 : L'IP spécifique signifie que l'utilisateur n'est autorisé à se connecter qu'à partir de l'IP spécifique.

En même temps, lorsque tout est prêt, lorsque nous accédons depuis une autre machine, si l'erreur suivante se produit :

# mysql -h192.168.31.106 -utest -p;
Enter password:
ERROR2003 (HY000): Can't connect to MySQL server on'192.168.31.106'(113)

Dépannage des erreurs

1 Assurez-vous que le pare-feu de la machine distante est fermé ou autorisez le port 3306 en entrée. le pare-feu n°

2. Assurez-vous que la base de données autorise l'accès à distance. Autorisez simplement l'hôte correspondant via la déclaration Grant PrivilègesCode sur dbName.tableName à username@host identifié par "password" ;.

Apprentissage recommandé : "Tutoriel vidéo MySQL"

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