#1 Le 08/03/2018, à 09:32
- L'Africain
(Résolu) Connexion msql sur serveur avec client impossible
Bonjour,
Je souhaiterais installer freehealth (fork de freemedforms) pour une petite structure médicale qui travaille avec les bases de données. J'ai donc installé mariadb-server, j'ai créé les utilisateurs avec leur droits respectifs je leur ai donné les droits sur les bases mais je n'arrive pas à me connecter à distance sur le client.
Sur le serveur voilà ce que j'ai fait:
MariaDB [(none)]> GRANT ALL ON *.* TO 'doc'@'%' identified by 'motdepasse';
J'ai donc donné à doc le droit sur toutes les bases (pour faire simple dans un premier temps). Je suis sur un réseau local. J'avais aussi essayé cette commande avec l'ip du client.
Ensuite j'ai fait:
MariaDB [(none)]> flush privileges;
J'ai également modifié le fichier /etc/mysql/mysql.conf.d/mysqld.cnf pour y mettre l'ip du serveur après
bind-address = 192.168.0.101
j'ai bien tout redémarré.
Enfin quand je tente d'accéder au serveur via le client j'ai cette erreur:
ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.0.101' (111 "Connection refused")
Je me connecte avec:
mysql -udoc -h192.168.0.101-p
Comment donc donner les droits pour que le client puisse se connecter?
Merci de votre aide
Dernière modification par L'Africain (Le 15/03/2018, à 13:26)
Ubuntu-Unity 18.04 LDLC (clevo) X/Lubuntu-Mate
"Donne à celui qui te demande…" Mt 5,42
Hors ligne
#2 Le 11/03/2018, à 10:26
- bruno
Re : (Résolu) Connexion msql sur serveur avec client impossible
Bonjour,
Ta question aurait davantage sa place dans la rubrique « Serveurs ».
Sur le serveur, vérifier que le service MySQL est bien en écoute sur la bonne IP :
sudo netstat -tlnp
Sur le serveur donner le retour de la requête SQL :
SELECT host,user,password,plugin FROM mysql.user;
#3 Le 11/03/2018, à 10:48
- L'Africain
Re : (Résolu) Connexion msql sur serveur avec client impossible
Merci Bruno pour ta réponse, alors pour la première commande:
Connexions Internet actives (seulement serveurs)
Proto Recv-Q Send-Q Adresse locale Adresse distante Etat PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1381/sshd
tcp 0 0 0.0.0.0:631 0.0.0.0:* LISTEN 1004/cupsd
tcp 0 0 127.0.0.1:8123 0.0.0.0:* LISTEN 1289/polipo
tcp 0 0 0.0.0.0:445 0.0.0.0:* LISTEN 3638/smbd
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 3534/mysqld
tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN 3638/smbd
tcp 0 0 0.0.0.0:2316 0.0.0.0:* LISTEN 3336/gwsetup
tcp 0 0 0.0.0.0:2317 0.0.0.0:* LISTEN 3341/gwd
tcp 0 0 127.0.1.1:53 0.0.0.0:* LISTEN 5540/dnsmasq
tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 1309/dnsmasq
tcp6 0 0 :::22 :::* LISTEN 1381/sshd
tcp6 0 0 :::631 :::* LISTEN 1004/cupsd
tcp6 0 0 :::443 :::* LISTEN 3485/apache2
tcp6 0 0 :::445 :::* LISTEN 3638/smbd
tcp6 0 0 :::139 :::* LISTEN 3638/smbd
tcp6 0 0 :::8080 :::* LISTEN 3152/bibleditserver
tcp6 0 0 :::80 :::* LISTEN 3485/apache2
tcp6 0 0 :::8081 :::* LISTEN 3152/bibleditserver
tcp6 0 0 ::1:53 :::* LISTEN 1309/dnsmasq
Pour la seconde:
+---------------+------------------+-------------------------------------------+--------+
| host | user | password | plugin |
+---------------+------------------+-------------------------------------------+--------+
| localhost | root | *C29DB05BAAB9B3126BD3F6D4F7504301AD0F6ECE | |
| 192.168.0.100 | root | *C29DB05BAAB9B3126BD3F6D4F7504301AD0F6ECE | |
| localhost | cyrille | *C29DB05BAAB9B3126BD3F6D4F7504301AD0F6ECE | |
| 192.168.0.100 | cyrille | *C29DB05BAAB9B3126BD3F6D4F7504301AD0F6ECE | |
| % | fmf_admin | *5FC75A061E38C9715E238BB4ACEADA3AC8023F93 | |
| localhost | fmf_admin | *5FC75A061E38C9715E238BB4ACEADA3AC8023F93 | |
| 127.0.0.1 | fmf_admin | *5FC75A061E38C9715E238BB4ACEADA3AC8023F93 | |
| ::1 | fmf_admin | *5FC75A061E38C9715E238BB4ACEADA3AC8023F93 | |
| % | lafricain | *C29DB05BAAB9B3126BD3F6D4F7504301AD0F6ECE | |
| % | mccoy.leonard | *8364B057696FEC2136E473E140BDB1F2A3B0DFDD | |
| % | phlox | *D4B6FC2FBDFB85D9220200F1DD78214F5CF2E232 | |
| % | uhura | *83336B8DE7E310051EAA08E1EFBF026B3C565D57 | |
| % | chapel.christine | *EECAA0AF10F8A0487062517F70ABE2352BCD0BFB | |
| localhost | lafricain | *C29DB05BAAB9B3126BD3F6D4F7504301AD0F6ECE | |
| 192.168.0.101 | lafricain | *C29DB05BAAB9B3126BD3F6D4F7504301AD0F6ECE | |
| 192.168.1.101 | root | *C29DB05BAAB9B3126BD3F6D4F7504301AD0F6ECE | |
| 192.168.1.102 | root | *C29DB05BAAB9B3126BD3F6D4F7504301AD0F6ECE | |
| % | root | *C29DB05BAAB9B3126BD3F6D4F7504301AD0F6ECE | |
| 192.168.0.101 | root | *C29DB05BAAB9B3126BD3F6D4F7504301AD0F6ECE | |
+---------------+------------------+-------------------------------------------+--------+
Pour cette deuxième commande je suis un peu surpris d'y voir des inconnu comme leonard et christine!
Pour la section serveur je peux changer si nécessaire, mais j'avais regardé où était posté l'autre post sur le même sujet.
Ubuntu-Unity 18.04 LDLC (clevo) X/Lubuntu-Mate
"Donne à celui qui te demande…" Mt 5,42
Hors ligne
#4 Le 11/03/2018, à 11:36
- bruno
Re : (Résolu) Connexion msql sur serveur avec client impossible
Ton serveur MySQL n'est en écoute que sur l'interface locale :
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 3534/mysqld
Tu as du rater quelque chose dans t a configuration ou oublier de relancer le service mysql après modification.
#5 Le 11/03/2018, à 11:58
- L'Africain
Re : (Résolu) Connexion msql sur serveur avec client impossible
Ok merci déjà d'avoir trouvé le problème! Maintenant une idée?
Ceci : 0.0.0.0:* ne signifie pas qu'il écoute toutes les adresses externes?
En plus de modifier mysql.conf, de créer l'utilisateur, de luis donner flush privileges, que faut-il ajouter?
Dernière modification par L'Africain (Le 11/03/2018, à 12:00)
Ubuntu-Unity 18.04 LDLC (clevo) X/Lubuntu-Mate
"Donne à celui qui te demande…" Mt 5,42
Hors ligne
#6 Le 11/03/2018, à 13:02
- bruno
Re : (Résolu) Connexion msql sur serveur avec client impossible
Non c'est la seconde colonne qui indique que le serveur mysql n'est en écoute que sur 127.0.0.1
Tu n'a peut-être pas modifié le bon fichier de configuration ou ta directive bind-address n'est pas placée dans la section [mysqld]
#7 Le 11/03/2018, à 13:21
- L'Africain
Re : (Résolu) Connexion msql sur serveur avec client impossible
Tu n'a peut-être pas modifié le bon fichier de configuration ou ta directive bind-address n'est pas placée dans la section [mysqld]
Voici le contenu de la partie mysql du fichier /etc/mysql/mysql.conf.d/mysqld.cnf en question:
[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 = 192.168.0.101
#
# * 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
#
# * 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
#
Est-ce correct? J'ai pas modifier d'autre fichier.
Ubuntu-Unity 18.04 LDLC (clevo) X/Lubuntu-Mate
"Donne à celui qui te demande…" Mt 5,42
Hors ligne
#8 Le 12/03/2018, à 11:28
- L'Africain
Re : (Résolu) Connexion msql sur serveur avec client impossible
Salut,
J'ai essayé de tout purgé, or quand j'ai tout réinstallé j'ai découvert qu'il avait gardé en les modification de mes fichiers que je croyais avoir supprimé (ceux dans /etc/mysql) et même mon mot de passe il l'avait encore en mémoire!
J'ai installer phpmyadmin pour voir, et durant l'installation je choisis de créer la base de donnée j'ai cette erreur:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
Dernière modification par L'Africain (Le 12/03/2018, à 11:36)
Ubuntu-Unity 18.04 LDLC (clevo) X/Lubuntu-Mate
"Donne à celui qui te demande…" Mt 5,42
Hors ligne
#9 Le 14/03/2018, à 23:47
- krodelabestiole
Re : (Résolu) Connexion msql sur serveur avec client impossible
J'ai essayé de tout purgé, or quand j'ai tout réinstallé j'ai découvert qu'il avait gardé en les modification de mes fichiers que je croyais avoir supprimé (ceux dans /etc/mysql) et même mon mot de passe il l'avait encore en mémoire!
oui, apt purge ne suffit pas pour ça. et tant mieux, mieux vaut qu'il ne supprime pas les bases de données.
la manip pour purger complètement est indiquée là : https://doc.ubuntu-fr.org/lamp#conflit_ … et_mariadb
sudo apt autoremove --purge mysql* mariadb*
sudo apt clean
sudo mv /var/lib/mysql /var/lib/mysql_bak
sudo mv /etc/mysql /etc/mysql_bak
enfin j'ai fait safe : les répertoires sont juste renommés.
Dernière modification par krodelabestiole (Le 14/03/2018, à 23:55)
nouveau forum ubuntu-fr on en parle là : refonte du site / nouveau design
profil - sujets récurrents - sources du site
Hors ligne
#10 Le 15/03/2018, à 09:39
- L'Africain
Re : (Résolu) Connexion msql sur serveur avec client impossible
Merci Kro d'être venu à ma rescousse... J'osais pas te demander le l'aide sur en privé, car j'ai vu par tes interventions sur la doc que tu maîtrises le sujet. Je vais faire ça et te retrouve ici... Espérant que cette purge va régler mon problème...
Ubuntu-Unity 18.04 LDLC (clevo) X/Lubuntu-Mate
"Donne à celui qui te demande…" Mt 5,42
Hors ligne
#11 Le 15/03/2018, à 09:56
- bruno
Re : (Résolu) Connexion msql sur serveur avec client impossible
Oui enfin c'est un peu drastique de tout purger alors qu'il s'agissait d'un simple problème de configuration…
Vu que le fichier /etc/mysql/mysql.conf.d/mysqld.cnf indiqué en #7 était correct, on pouvait penser qu'il n'était pas sourcé (sous Debian c'est /etc/mysql/mariadb.conf.d). Il aurait fallu examiner l'ensemble des fichiers sous /etc/mysql et leur relations (includes).
#12 Le 15/03/2018, à 10:02
- L'Africain
Re : (Résolu) Connexion msql sur serveur avec client impossible
C'est pas grave, parce que pour l'instant j'ai pas de base de données, et en plus j'avais pas la solution au problème...
Dernière modification par L'Africain (Le 15/03/2018, à 10:21)
Ubuntu-Unity 18.04 LDLC (clevo) X/Lubuntu-Mate
"Donne à celui qui te demande…" Mt 5,42
Hors ligne
#13 Le 15/03/2018, à 10:45
- L'Africain
Re : (Résolu) Connexion msql sur serveur avec client impossible
Ok alors faisons comme si je ne connaissais rien (ce qui n'est pas loin de la vérité).
Je réinstalle d'abord mariadb-server, puis je modifie /etc/mysql/mysql.conf.d/mysqld.cnf, après pour ne pas faire de bêtise j'attends vos consigne. Sur le client j'installe quoi?
Edit: donc après avoir installé mariadb, j'ai fait:
sudo mysql_secure_installation
J'ai répondu aux questions, pour le truc disallow remote access, j'ai refusé, pour les reste j'ai accepté.
Après quoi la connexion:
sudo mysql -u root -p
fonctionnne, mais pas sans sudo.
Enfin pour modifier, le fichier /etc/mysql/mysql.conf.d/mysqld.cnf, ben ça marche pas parce qu'il y en a pas!! J'ai trouvé /etc/mysql/mariadb.conf.d/50-server.cnf qui a les mêmes caractéristiques que le précedent, j'ai commenté la ligne bind-server.
Dernière modification par L'Africain (Le 15/03/2018, à 11:22)
Ubuntu-Unity 18.04 LDLC (clevo) X/Lubuntu-Mate
"Donne à celui qui te demande…" Mt 5,42
Hors ligne
#14 Le 15/03/2018, à 11:15
- bruno
Re : (Résolu) Connexion msql sur serveur avec client impossible
Avant d'installer mariadb-server assures-toi que les dossiers /etc/mysql et /var/lib/mysql n'existent plus (ou sont vides).
Sur le client tu as juste besoin du client mysql (paquet mariadb-client).
#15 Le 15/03/2018, à 11:24
- L'Africain
Re : (Résolu) Connexion msql sur serveur avec client impossible
Ah, ma connexion est merdique, donc je récrit, car nos messages se sont croisé, mais le mien n'a pas été enregistré.
Donc après avoir installé mariadb, j'ai fait:
sudo mysql_secure_installation
J'ai répondu aux questions, pour le truc disallow remote access, j'ai refusé, pour les reste j'ai accepté.
Après quoi la connexion:
sudo mysql -u root -p
fonctionnne, mais pas sans sudo.
Enfin pour modifier, le fichier /etc/mysql/mysql.conf.d/mysqld.cnf, ben ça marche pas parce qu'il y en a pas!! J'ai trouvé /etc/mysql/mariadb.conf.d/50-server.cnf qui a les mêmes caractéristiques que le précedent, j'ai commenté la ligne bind-server, pour plus de facilité.
- J'ai redémarré mysql:
sudo systemctl restart mysql
- J'ai relancé
sudo netstat -tlnp
qui me donne:
-tcp6 0 0 :::3306 :::* LISTEN 22078/mysqld
Je peux maintenant créer l'utilisateur pour le client?
Dernière modification par L'Africain (Le 15/03/2018, à 12:52)
Ubuntu-Unity 18.04 LDLC (clevo) X/Lubuntu-Mate
"Donne à celui qui te demande…" Mt 5,42
Hors ligne
#16 Le 15/03/2018, à 11:39
- bruno
Re : (Résolu) Connexion msql sur serveur avec client impossible
A priori c'est bon.
NB : si l'accès à mysql ne fonctionne qu'avec sudo c'est parce mariadb a créé un utilisateur root avec le plugin unix_socket (l'utilisateur root est authentifié en tant qu'utilisateur Unix est non par mot de passe).
#17 Le 15/03/2018, à 12:22
- krodelabestiole
Re : (Résolu) Connexion msql sur serveur avec client impossible
J'osais pas te demander le l'aide sur en privé
t'inquiète, tu es entre de bonnes mains avec bruno
nouveau forum ubuntu-fr on en parle là : refonte du site / nouveau design
profil - sujets récurrents - sources du site
Hors ligne
#18 Le 15/03/2018, à 12:54
- L'Africain
Re : (Résolu) Connexion msql sur serveur avec client impossible
Désolé j'ai des problèmes de connexions, donc mon message plus haut a été modifié, avant vos postes...
t'inquiète, tu es entre de bonnes mains avec bruno
Oui il m'avait semblé, mais j'ai été un peu impatient...
Merci de votre aide. je vais maintenant tester avec les utillisateurs de freehealth.
Ubuntu-Unity 18.04 LDLC (clevo) X/Lubuntu-Mate
"Donne à celui qui te demande…" Mt 5,42
Hors ligne
#19 Le 15/03/2018, à 13:02
- L'Africain
Re : (Résolu) Connexion msql sur serveur avec client impossible
Ok c'est sûr sur le client c'est bon. Reste à tester avec Freehealth. Par contre ça serait bien de mettre ces infos sur la doc. Pour le sudo avant mysql comment on fait pour l'éviter?
Ubuntu-Unity 18.04 LDLC (clevo) X/Lubuntu-Mate
"Donne à celui qui te demande…" Mt 5,42
Hors ligne
#20 Le 15/03/2018, à 13:06
- bruno
Re : (Résolu) Connexion msql sur serveur avec client impossible
L'Africain a écrit :J'osais pas te demander le l'aide sur en privé
t'inquiète, tu es entre de bonnes mains avec bruno
Ou enfin on n'est jamais à l'abri d'une connerie…
#21 Le 15/03/2018, à 13:09
- bruno
Re : (Résolu) Connexion msql sur serveur avec client impossible
Ok c'est sûr sur le client c'est bon. Reste à tester avec Freehealth. Par contre ça serait bien de mettre ces infos sur la doc. Pour le sudo avant mysql comment on fait pour l'éviter?
Sur la doc LAMP, voir la note sur fond orange qui indique comment mettre un mot de passe à l'utilisateur root de mysql.
Je recopie ici :
sudo mysql -u root
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'le_mot_de_pass_choisi';
mysql> FLUSH PRIVILEGES;
mysql> QUIT;
#22 Le 15/03/2018, à 13:11
- L'Africain
Re : (Résolu) Connexion msql sur serveur avec client impossible
En tout cas merci de votre aide et de vos contributions sur la doc.
Ah ok donc une fois qu'on a le mot de passe mysql on a plus besoin de sudo... Je capte.
Pour la doc je pensais plus qu'on y indique les fichiers à modifier, qui ne semble pas être les mêmes que pour mysql.
Edit: Freehealth marche parfaitement en réseau, merci les gars! Le doc sera content...
Dernière modification par L'Africain (Le 15/03/2018, à 13:26)
Ubuntu-Unity 18.04 LDLC (clevo) X/Lubuntu-Mate
"Donne à celui qui te demande…" Mt 5,42
Hors ligne
#23 Le 29/10/2019, à 18:15
- L'Africain
Re : (Résolu) Connexion msql sur serveur avec client impossible
Bonjour,
Je reviens sur ce post, car comme Kro n'a pas arrêté de le dire dans des messages sur la liste de diffusion de la doc au sujet de mysql, sudo mysql_secure_installation n'est pas recommandé et a été supprimé de la page de doc. J'ai donc eu un peu de temps pour retenter une installation, le serveur en Virtualbox et le client sur mon hôte.
Tout fonctionne bien sur la VM en serveur. Par contre à nouveau pas possible de me connecter sur le client.
Quand j'entre cette commande:
GRANT ALL ON *.* TO 'cyrille'@'%' IDENTIFIED WITH mysql_native_password BY 'mdp';
J'ai cette erreur:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '% IDENTIFIED WITH mysql_native_password BY mdp' at line 1
Donc que faire au final?
Merci d'avance.
Ubuntu-Unity 18.04 LDLC (clevo) X/Lubuntu-Mate
"Donne à celui qui te demande…" Mt 5,42
Hors ligne
#24 Le 30/10/2019, à 20:01
- krodelabestiole
Re : (Résolu) Connexion msql sur serveur avec client impossible
tu veux faire un accès "super admin" ?
https://doc.ubuntu-fr.org/phpmyadmin#acces_root
GRANT ALL ON *.* TO 'cyrille'@'%' IDENTIFIED BY 'mdp' WITH GRANT OPTION;
FLUSH PRIVILEGES;
QUIT;
mais sinon tu es sûr que tu utilises pas mariadb plutôt que mysql ?
sur bionic ça me donne :
mysql> GRANT ALL ON *.* TO 'cyrille'@'%' IDENTIFIED WITH mysql_native_password BY 'mdp';
Query OK, 0 rows affected, 1 warning (0.01 sec)
donc pas d'erreur de syntaxe chez moi...
nouveau forum ubuntu-fr on en parle là : refonte du site / nouveau design
profil - sujets récurrents - sources du site
Hors ligne
#25 Le 30/10/2019, à 20:05
- L'Africain
Re : (Résolu) Connexion msql sur serveur avec client impossible
J'utilise Mariadb. Je voudrais me connecter avec un client sur un autre ordi au serveur. Là je teste sur mon pc, le serveur est en virtualisation et le client c'est mon pc Hote. Mais le client n'arrive pas à se connecté.
j'ai déjà fait la partie du lien l'accès root, ce qui fonctionne pour le serveur (avant sans ça, ça ne se connectait pas sans sudo).
Ubuntu-Unity 18.04 LDLC (clevo) X/Lubuntu-Mate
"Donne à celui qui te demande…" Mt 5,42
Hors ligne