1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    août 2005
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : août 2005
    Messages : 10
    Points : 9
    Points
    9

    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
    Futur Membre du Club
    Profil pro
    Inscrit en
    août 2005
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : août 2005
    Messages : 10
    Points : 9
    Points
    9

    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 éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    juin 2003
    Messages
    6 343
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juin 2003
    Messages : 6 343
    Points : 10 210
    Points
    10 210

    Par défaut

    avez-vous essayé de mettre "localhost" pour le nom du serveur ?

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    août 2005
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : août 2005
    Messages : 10
    Points : 9
    Points
    9

    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 éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    juin 2003
    Messages
    6 343
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juin 2003
    Messages : 6 343
    Points : 10 210
    Points
    10 210

    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
    Futur Membre du Club
    Profil pro
    Inscrit en
    août 2005
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : août 2005
    Messages : 10
    Points : 9
    Points
    9

    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 averti
    Inscrit en
    juin 2012
    Messages
    226
    Détails du profil
    Informations forums :
    Inscription : juin 2012
    Messages : 226
    Points : 360
    Points
    360

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

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