MySQL Autoriser les conexions externes

Fermé
Bilow Messages postés 1014 Date d'inscription samedi 21 août 2010 Statut Membre Dernière intervention 2 août 2015 - 6 févr. 2011 à 21:46
Bilow Messages postés 1014 Date d'inscription samedi 21 août 2010 Statut Membre Dernière intervention 2 août 2015 - 7 févr. 2011 à 17:58
Bonjour !

Il y a énormément de posts dans les forums à ce sujet mais je n'y arrive toujours pas !
J'ai un serveur dédié, et j'aimerais que n'importe qui puisse s'y connecter (avec un nom d'utilisateur et un mot de passe). Il faut accepter les connexions externes, mais comment ?

Je suis sous Linux Ubuntu 10.04 LTS, ma version de MySQL est 5.1.41-3ubuntu12.9

Il me semble que pour cela il faut le fichier de configuration de mysql, partie mysqld. Je l'ai postée ci-dessous.

Merci de votre aide !

/etc/mysql/my.cnf :
[mysqld]
#
# * Basic Settings
#

#
# * IMPORTANT
#   If you make changes to these settings and your system uses apparmor, you may
#   also need to also adjust /etc/apparmor.d/usr.sbin.mysqld.
#

user            = mysql
socket          = /var/run/mysqld/mysqld.sock
port            = 3306
basedir         = /usr
datadir         = /var/lib/mysql
tmpdir          = /tmp
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              = 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         = BACKUP
#max_connections        = 100
#table_cache            = 64
#thread_concurrency     = 10
#
# * Query Cache Configuration
#
query_cache_limit       = 1M
query_cache_size        = 16M
#
# * Logging and Replication
#
# Both location gets rotated by the cronjob.
# Be aware that this log type is a performance killer.
# As of 5.1 you can enable the log at runtime!
#general_log_file        = /var/log/mysql/mysql.log
#general_log             = 1

log_error                = /var/log/mysql/error.log

# Here you can see queries with especially long duration
#log_slow_queries       = /var/log/mysql/mysql-slow.log
#long_query_time = 2
#log-queries-not-using-indexes
#
# The following can be used as easy to replay backup logs or for replication.
# note: if you are setting up a replication slave, see README.Debian about
#       other settings you may need to change.
#server-id              = 1
#log_bin                        = /var/log/mysql/mysql-bin.log
expire_logs_days        = 10
max_binlog_size         = 100M
#binlog_do_db           = include_database_name
#binlog_ignore_db       = include_database_name
#
# * InnoDB
#
# InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/.
# Read the manual for more InnoDB related options. There are many!
#
# * Security Features
#
# Read the manual, too, if you want chroot!
# chroot = /var/lib/mysql/
#
# For generating SSL certificates I recommend the OpenSSL GUI "tinyca".
#
# ssl-ca=/etc/mysql/cacert.pem
# ssl-cert=/etc/mysql/server-cert.pem
# ssl-key=/etc/mysql/server-key.pem
A voir également:

2 réponses

hardmehdi Messages postés 154 Date d'inscription vendredi 28 janvier 2011 Statut Membre Dernière intervention 18 août 2011 21
7 févr. 2011 à 03:56
Bonjour,

Tu veux qu'on se connecte sur ta base de données Mysql ou sur ton ordi?

Si tu parles de ta BD, tu peux créer une base de données avec un utilisateur depuis phpmyadmin.
0
Bilow Messages postés 1014 Date d'inscription samedi 21 août 2010 Statut Membre Dernière intervention 2 août 2015 117
7 févr. 2011 à 17:58
Salut !

J'aimerais que n'importe qui puisse se connecter à ma/mes (plusieurs) bases de données présentes sur le serveur, avec les droits que je lui aurai préalablement attribué.

Exemple : j'ai donné à un utilisateur tous les droits sur une base de cette manière (en étant connecté en tant que root) :
GRANT ALL ON nom_base.* TO "nom_utilisateur"@"localhost";
J'aimerais que dans son script en PHP situé sur un autre serveur (donc pas de localhost) il puisse se connecter avec MySQL ainsi (ne me parler pas de PDO) :
mysql_connect("---ip_publique---", "nom_utilisateur", "mot_de_passe");

En localhost cela fonctionne très bien, mais en dehors cela ne fonctionne pas :
Warning: mysql_connect(): Lost connection to MySQL server at 'reading initial communication packet', system error: 110
Comment faire pour que l'utilisateur distant puisse s'y connecter, sans erreur ?

Je suppose que dans le fichier de ocnfiguration c'est surtout "bind-adress" qui est important, mais par quoi dois-je la remplacer pour désigner tout le monde ?

Merci !
0