Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 11/04/2017, à 13:15

tolkC

Connexion externe de base de données mySQL

Bonjour,

Je suis en train de développer une application mobile avec Ionic, j'ai besoin de connecter mon application à une base de données hébergée sur un serveur dédié chez Gandi avec ubuntu apache2 mySQL phpmyadmin.
En tentant de me connecter j'obtiens l'erreur : " Warning: mysqli::__construct():(HY000/1045): Access denied for user 'root'@'localhost' (using password: YES) in C:\....
Comment configurer mySQL pour débloquer la connexion externe ?
Dans quel fichier les connexions externes sont bloquées ?

Merci beaucoup,
Caroline

Hors ligne

#2 Le 11/04/2017, à 15:03

Vobul

Re : Connexion externe de base de données mySQL

Salut Caroline,

Par défaut les serveurs MySQL n'acceptent de connexions que depuis localhost. Il faut donc modifier ta config mysql pour accepter des connexions de l'extérieur. N'oublie pas d'utiliser TLS (SSL) !

Le fichier c'est /etc/mysql/my.cnf.


Vobul
Utilisez le retour utilisable de commandes !!!
J'aime la langue française, mais je parle franglais, deal with it.
RTFM

Hors ligne

#3 Le 11/04/2017, à 16:10

gl38

Re : Connexion externe de base de données mySQL

Tu dois avoir une ligne du genre

bind-address		= 127.0.0.1

Il faut la commenter en mettant un # devant et redémarrer le service mysql.
C'est évidemment une porte ouverte aux intrusions...
Cordialement,
Guy

Hors ligne

#4 Le 11/04/2017, à 16:11

tolkC

Re : Connexion externe de base de données mySQL

Merci pour vos réponses.
Lorsque j'accède à ce fichier (/etc/mysql/my.cnf) je me retrouve avec ça :

# The MySQL database server configuration file.
#
# You can copy this to one of:
# - "/etc/mysql/my.cnf" to set global options,
# - "~/.my.cnf" to set user-specific options.
#
# One can use all long options that the program supports.
# Run program with --help to get a list of available options and with
# --print-defaults to see which it would actually understand and use.
#
# For explanations see
# [url]http://dev.mysql.com/doc/mysql/en/server-system-variables.html[/url]

#
# * IMPORTANT: Additional settings that can override those from this file!
#   The files must end with '.cnf', otherwise they'll be ignored.
#

!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/

Ce fichier ne contenant pas la ligne : "bind-address           = 127.0.0.1" pour pouvoir la commenter comme lu précédemment dans tous les forums, je me suis rendue dans le fichier "/etc/mysql/mysql.conf.d/mysqld.cnf" qui contenait la ligne et je l'ai commenté :

/etc/mysql/mysql.conf.d/mysqld.cnf :

[mysqld]
#
# * Basic Settings
#
user            = mysql
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
port            = 3306
basedir         = /usr
datadir         = /var/lib/mysql
tmpdir          = /tmp
lc-messages-dir = /usr/share/mysql
skip-external-locking
#
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
#bind-address           = 127.0.0.1
#
# * Fine Tuning
#
key_buffer_size         = 16M
max_allowed_packet      = 16M
thread_stack            = 192K
thread_cache_size       = 8
# This replaces the startup script and checks MyISAM tables if needed
# the first time they are touched
myisam-recover-options  = BACKUP
#max_connections        = 100
#table_cache            = 64
#thread_concurrency     = 10
#

Cependant j'ai toujours la même erreur lorsque j'essaye de rentrer des données dans ma base de données via un formulaire.
(Warning: mysqli::__construct():(HY000/1045): Access denied for user 'root'@'localhost' (using password: YES) in C:\....)
Que dois-je faire pour faire disparaître l'erreur ?

Caroline


Modération : merci à l'avenir d'utiliser les balises code (explications ici).

Dernière modification par cqfd93 (Le 11/04/2017, à 19:35)

Hors ligne

#5 Le 11/04/2017, à 16:43

bruno

Re : Connexion externe de base de données mySQL

Il faut que ton serveur MySQL ait au moins un utilisateur configuré pour pouvoir se connecter depuis n'importe qul hôte (ou à minima depuis  ton IP).
Là, tu essaies visiblement de te connecter avec l'utilisateur root qui n'a de droits que sur l'hôte local (root@localhost).

Hors ligne

#6 Le 11/04/2017, à 16:50

Vobul

Re : Connexion externe de base de données mySQL

C'est surtout qu'elle tente de se connecter à localhost, donc forcément ça marche pas…


Vobul
Utilisez le retour utilisable de commandes !!!
J'aime la langue française, mais je parle franglais, deal with it.
RTFM

Hors ligne

#7 Le 11/04/2017, à 17:04

tolkC

Re : Connexion externe de base de données mySQL

Mon serveur MySQL à plusieurs utilisateurs dont "root" où le "localhost" est le nom d'hôte et root possède " all privileges"

Dernière modification par tolkC (Le 11/04/2017, à 17:05)

Hors ligne

#8 Le 11/04/2017, à 17:38

gl38

Re : Connexion externe de base de données mySQL

Il faudrait ajouter dans la table user de mysql une ligne pour un user root avec ton numéro IP dans la colonne host. Le "all privileges" ne suffit pas.
Avec phpmyadmin, ce n'est pas bien compliqué.
Cordialement,
Guy

Hors ligne

#9 Le 11/04/2017, à 17:46

bobe

Re : Connexion externe de base de données mySQL

Mieux encore, créer pour cela un autre utilisateur avec des droits restreints.

Hors ligne

#10 Le 12/04/2017, à 09:24

mazarini

Re : Connexion externe de base de données mySQL

Vobul a écrit :

C'est surtout qu'elle tente de se connecter à localhost, donc forcément ça marche pas…

Effectivement le message est "Access denied for user 'root'@'localhost'" ; ce qui semble montrer que tu essayes de te connecter sur un mysql local et pas sur le mysql distant.

Il me semble qu'avant que tu ais changé le bind, l'erreur aurait concerné un problème pour joindre l’hôte qui n'écoutait que sur 127.0.0.1.


S'il existait une école de la politique, les locaux devraient être édifiés rue de la Santé. Les élèves pourraient s'habituer. (Pierre Dac)

Hors ligne