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.
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!