Connexion machine distante MySql

De EjnTricks

Pour une installation de MySql sur un serveur Ubuntu, les connexion autre que depuis la machine ne sont pas autorisées par défaut. Le message d'erreur suivant est affiché dans les log.

Can't connect to MySQL server on 'server' (10061)

Cet article présente les configurations mises en place dans les paquets Ubuntu, ainsi que comment accéder à la base depuis une machine distante.


Hand-icon.png Votre avis

Nobody voted on this yet

 You need to enable JavaScript to vote


Study icon.png Etude

Afin d'annuler la résolution du nom depuis l'adresse IP, il faut activer l'option skip-name-resolve. Plusieurs moyens sont disponibles, mais il est plus facile d'effectuer la configuration dans le fichier de paramétrage personnalisé dans le cadre de cette installation.

Pour mémoire, le lien mysqld_custom.cnf a été mis en place dans le répertoire /etc/mysql/conf.d/ vers le fichier /var/opt/mysql/mysqld_custom.cnf.


Icon-Configuration-Settings.png Configuration

Le fichier /var/opt/mysql/mysqld_custom.cnf est modifié afin d'annuler la résolution du nom à partir de l'adresse IP en ajoutant la configuration pour bind-address.

[mysqld]
bind-address = 0.0.0.0

Attention, la configuration standard indique une "alerte" de sécurité expliquant la mise en place une écoute uniquement sur localhost.

[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

Cela veut donc dire que la connexion à la base de données est possible depuis n'importe quelle station du réseau, à condition d'avoir un compte utilisateur déclaré dans la base. Cette problématique peut être adressée par la mise en place de configuration Iptables afin de restreindre les accès sur le port d'écoute à un ensemble de machines.


Viewer icon.png Voir Aussi

Documentation officielle: http://dev.mysql.com/doc/refman/5.7/en/server-options.html#option_mysqld_bind-address