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 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;

Hors ligne

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

Hors ligne

#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]

Hors ligne

#7 Le 11/03/2018, à 13:21

L'Africain

Re : (Résolu) Connexion msql sur serveur avec client impossible

bruno a écrit :

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

L'Africain a écrit :

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)

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

Hors ligne

#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).

Hors ligne

#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).

Hors ligne

#17 Le 15/03/2018, à 12:22

krodelabestiole

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 wink

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 wink

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

krodelabestiole a écrit :
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 wink

Ou enfin on n'est jamais à l'abri d'une connerie… wink

Hors ligne

#21 Le 15/03/2018, à 13:09

bruno

Re : (Résolu) Connexion msql sur serveur avec client impossible

L'Africain a écrit :

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;

Hors ligne

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

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