Accès via socket à un serveur MySQL ...

Bonjour,

je ne sais pas si ma question est bien placée.

Mon problème d’hier a été d’accéder à des serveurs MySQL accessibles uniquement via socket.

il est tout a fait possible de les configurer pour l’utilisation

en paramètrant dans ./dolibarr/htdocs/conf/conf.php

le serveur est accessible via le serveur http sans problème

MAIS, impossible de créer une sauvegarde de la base ou d’effectuer une restauration de celle-ci … ( enfin je n’ai pas trouvé )

cette fonctionnalité existe-elle ? est-elle prévue ?

si tel n’est pas le cas, voici une solution pour ceux que cela intéresse ( ou qui sont obligés de travailler avec des sockets )

Cela nécessite d’apporter de petites modifications au code de 3 pages ( sur une version 3.3.0 )

htdocs/conf/config.php

après $dolibarr_main_db_port=‹  ›;
rajouter

htdocs/admin/tools/export.php

commenter les lignes 128,129,130
//$param=$dolibarr_main_db_name." -h « .$dolibarr_main_db_host;
//$param.= » -u « .$dolibarr_main_db_user;
//if (! empty($dolibarr_main_db_port)) $param.= » -P ".$dolibarr_main_db_port;

ajouter après ces lignes

htdocs/admin/tools/dolibarr_import.php

commenter les lignes 127,128
//$param.=" -h « .$dolibarr_main_db_host;
//if (! empty($dolibarr_main_db_port)) $param.= » -P ".$dolibarr_main_db_port;

ajouter après ces lignes

Bonjour,
Quel intérêt d’utiliser socket pour la connexion ? Mysql est sur une autre machine et vous souhaitez sécuriser la connexion ???

Si mysql est sur autre machine il est normal que la sauvegarde ne fonctionne pas à mes yeux puisque cela veut dire que l’appel à mysqldump (un exécutable on va dire) ne peut qu’échouer sauf si tout ce qu’il faut est sur la machine mais à tester.
Jamais essayé de faire un dump via socket.

Sinon un grand merci pour ton retour

(bien évidemment je parle du cas d’un serveur Apache+MySQL sous Linux/Un*x.)

L’objectif est la sécurité.

L’un des paramètres de mysqld est skip-networking qui désactive toute connexion réseau vers le serveur MySQL, ainsi seules les appli locales peuvent se connecter au serveur MySQL. Et ceci sans nécessiter de firewalling.

Dans le cas qui nous intéresse, l’attention sera donc focalisée sur la sécurisation du serveur Apache => accès SSL + blocage des ports inutiles uniquement.

Ok je voulais juste une confirmation, j’utilise moi-même skip-networking. Le serveur mysql ne répond que localement, pas de connexion possible depuis l’extérieur. Ce qui veut dire que même avec les logins mysql, impossible d’attaquer la base (sauf avec un phpmyadmin) installé sur mon propre serveur.

Je n’ai jamais pensé à utiliser socket pour accéder au serveur, pas eu de besoin.

Encore merci pour ton retour. :wink: