IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Lazarus Pascal Discussion :

[Zeos/Ubuntu] Socket "/tmp/mysql.sock" pas trouvé


Sujet :

Lazarus Pascal

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2005
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 11
    Par défaut [Zeos/Ubuntu] Socket "/tmp/mysql.sock" pas trouvé
    Bonjour à tous,

    J'ai un problème que je n'arrive pas à résoudre.

    J'ai un composent ZConnection qui me donne une erreur à la connexion avec une DB :
    socket "/tmp/mysql.sock" pas trouvé!
    Il a raison car le fichier "mysql.sock" n'existe pas dans "/tmp".
    j'ai trouvé une solution pas très clean : créer un lien vers "/var/run/mysqld/mysqld.sock" dans "/tmp" puis renommer le lien en "mysql.sock". Avec cette manipulation, j'ai la connexion avec la DB.
    Comment puis-je informer à ZConnection de l'emplacement exacte du socket ?
    Ou peut-être : où ZConnection prend cette information ?
    La variable socket dans mysql est bien "/var/run/mysqld/mysqld.sock".

    Merci

    Lazarus 1.6
    fp 3.0.0
    Ubuntu 16.04
    MariaDB 10.0.31

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Août 2005
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 11
    Par défaut
    J'ai trouvé une demie solution:
    J'ai modifié la configuration de mysql pour que créé le fichier mysql.sock dans /tmp/, puis j'ai créé un lien dan /var/run/mysqld car phpmyadmin veux ce fichier dans cet emplacement, la aussi je n'ai pas trouvé comme phpmyadmin cherche ce fichier.

  3. #3
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 701
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 701
    Par défaut
    avez-vous essayé de mettre "localhost" pour le nom du serveur ?

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Août 2005
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 11
    Par défaut
    Citation Envoyé par mathieu Voir le message
    avez-vous essayé de mettre "localhost" pour le nom du serveur ?
    si vous parlez dans la propriété 'HostName"de ZConnection alors oui.
    J'ai vu que on peut lui ajouter des propriétés supplémentaires dans la propriété "Propriétés'; peut être que on peut lui transmettre l’emplacement du fichier mysql.sock mais je ne connais pas la bonne syntaxe. J'ai essayé "socket=/var/run/mysqld/mysqld.sock" mais sa ne marche pas.

  5. #5
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 701
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 701
    Par défaut
    je savais déjà que pour la valeur "serveur" on pouvait indiquer soit un serveur (et port) soit le chemin du socket
    et là je viens de découvrir qu'en mettant "localhost" ou "localhost:PORT", le client MySQL ignorait cette valeur et essayait d'utiliser le socket par défaut

    essayez peut-être d'indiquer cela dans la valeur serveur : ":/var/run/mysqld/mysqld.sock" (avec les : au début)

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Août 2005
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 11
    Par défaut
    Citation Envoyé par mathieu Voir le message
    indiquer cela dans la valeur serveur : ":/var/run/mysqld/mysqld.sock" (avec les : au début)
    Il me donne erreur de DB pas reconnue: /var/run/mysqld/mysqld.sock:3306/NomDB

  7. #7
    Membre émérite

    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2012
    Messages
    1 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Retraité
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Juin 2012
    Messages : 1 035
    Par défaut
    Le problème semble plutôt venir de l'installation de mariadb que de ZeodDb, cette page pourrait peut-être aider:

    https://www.citizenz.info/mariadb-my...s-ubuntu-16-04

    Ceci dit par le passé MariaDb m'avait un peu gonflé avec PhpmyAdmin et j'ai fini par la virer pour en revenir à MySql standard:

    Nom : sql.jpg
Affichages : 344
Taille : 97,4 Ko

    Et le code ci-dessous fonctionne sans problème:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    procedure TFmain.SqlTest(Data_Base_Name:String);
    Begin
      E_SQLActif.Text:='MySql inactif';
      SqlOk:=False;
      MySQLMain.Protocol:='mysql';
      MySQLMain.HostName:=E_SQLHost.Text;
      MySQLMain.User:=E_SQLUser.Text;
      MySQLMain.PassWord:=E_SQLPass.Text;
      MySQLMain.Database:=Data_Base_Name;
      MySQLMain.Port:=3306;
      Try
        MySQLMain.Connect;
        E_SQLActif.Text:='SQL: '+MySQLMain.Version+' connecté.';
        SqlOk:=True;
      Except
        on E: Exception do
          ShowMessage(E.message);
      End;
    End;
    PS: Si MariaDb fonctionne hors Lazarus il faudrait faire une recherche de fichiers pour voir ou vont se nicher: mysqld.pid, mysqld.sock, mysqld.sock.lock normalement dans /var/run/mysqld.

    Un truc à vérifier aussi, chez moi /var/run et un lien symbolique qui renvoie sur /run ( à la racine ).

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Août 2005
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 11
    Par défaut
    Je n'ai pas eu de problèmes avec MariaDB et PhpMyAdmin. Le problème est le trio Zeos MariaDB PhpMyAdmin.
    Une idée : et si j'avais installé MariaDB avant Zeos ? Peut-être qu'il aurait pris le bon emplacement du socket ?
    Etan donné que Zeos na pas trouvé une configuration existante au moment de son installation il a pris l'emplacement du socket par défaut (/tmp).

Discussions similaires

  1. Réponses: 1
    Dernier message: 24/05/2010, 21h08
  2. Réponses: 5
    Dernier message: 22/10/2008, 17h19
  3. Réponses: 3
    Dernier message: 18/06/2007, 16h24
  4. Tomcat + ubuntu + Struts + Mysql (driver non trouvé)
    Par kabal dans le forum Tomcat et TomEE
    Réponses: 2
    Dernier message: 26/01/2007, 11h18
  5. suppression tmp / mysql.sock
    Par crazykangourou dans le forum SQL Procédural
    Réponses: 4
    Dernier message: 20/09/2006, 10h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo