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

 MySQL Discussion :

identifiant mysql trop long


Sujet :

MySQL

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 7
    Points : 2
    Points
    2
    Par défaut identifiant mysql trop long
    Bonjour à tous,

    j'ai récemment prix un hébergement chez lycos. Afin de faciliter la création de mon site en PHP j'ai installé wampserver. Pour configurer phpmyadmin en local je dois rentrer l'identifiant de ma base de donnée mysql. Cet identifiant est automatiquement créé par lycos. Le soucis c'est qu'ils m'ont créé un identifiant à 17 caractères or lorsque je veux renseigner cet identifiant sur phpmyadmin il n'en prend que 16 ! Pouvez-vous m'aider svp ? Quelle est la meilleure solution pour m'en sortir ?
    Pour info l'identifiant est du type **************_fr

    Merci

  2. #2
    Membre expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2005
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Points : 3 950
    Points
    3 950
    Par défaut
    Saluton,
    Effectivement, dans la table `user` de la base `mysql`, la colonne `User` est un VARCHAR(16).
    Mais il y a une chose que je ne comprends pas bien :
    Sur quel PhpMyAdmin n'arrives-tu pas à te connecter, celui en local sous Wamp ou celui chez Lycos ?
    Si c'est en local, tu peux modifier la taille de la colonne avec une commande ALTER TABLE, si c'est chez Lycos, bah, il faut voir avec eux.

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    non, c'est en local sous wamp, donc apparemment c'est modifiable. Peux-tu me dire en gros comment faire ?

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    j'ai sélectionné la base de donnée mysql.
    Je suis entré dans la table 'user' et là je vois ça :

    Host char(60)
    User char(16)
    Password char(41)

    j'ai modifié la valeur 16 par 17 puisque c'est 17 caractères qui m'intéressent mais lorsque j'essaye de me reconnecter à phpmyadmin c'est impossible.

    Je ne m'y suis peut-être mal pris ?

  5. #5
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 036
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 036
    Points : 23 782
    Points
    23 782
    Par défaut
    Bonjour,

    J'ai du mal à saisir sur quel nom porte le problème...
    Le nom de ta base de données ou le nom de l'utilisateur qui se connecte à cette base (la colonne USER dont tu parles).

    Dans MySQL (en tout cas en version 5), les noms des bases peuvent contenir jusqu'à 64 caractères.
    En revanche, les noms d'utilisateurs de connexion sont limités à 16 caractères. Ce nombre ne peut pas être changé (et ne doit pas l'être).
    Il est fortement décommandé de faire des modifications sur la structure de la base "mysql", qui contient toutes les informations de gestion du serveur.

    ced

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    le problème porte sur le nom d'utilisateur qui se connecte à la base. Lycos m'en a fournit un de 17 caractères. Or comme vous le dites il ne doit pas dépasser 16 caractères. Je ne sais pas trop quoi faire.

  7. #7
    Membre expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2005
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Points : 3 950
    Points
    3 950
    Par défaut
    Citation Envoyé par ced Voir le message
    En revanche, les noms d'utilisateurs de connexion sont limités à 16 caractères. Ce nombre ne peut pas être changé (et ne doit pas l'être).
    Sur un serveur local, quel est le risque ? Car on parle bien du nom, pas du password et d'un VARCHAR(16), pas d'un CHAR(16).
    Il y a un contrôle sur la longueur du nom dans MySQL ou PMA ?

  8. #8
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 036
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 036
    Points : 23 782
    Points
    23 782
    Par défaut
    Attention, là, c'est la limite de longueur annoncée par MySQL. Il ne s'agit pas d'un compte utilisateur dans une table qu'on crée soi-même et qu'on maîtrise, c'est un compte "utilisateur MySQL", et il est limité à 16 caractères. C'est une limite propre au SGBD...
    On ne peut pas changer les longueurs de champs dans la base "mysql" comme ça...

    Sinon, essaie en tronquant d'un caractère final le nom d'utilisateur .

    ced

  9. #9
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    ok d'accord on ne peut rien faire. Je vais donc essayer paramétrer un login + mot de passe différent de mon FAI, je travaille en local et lorsque j'exporterai mon site vers mon hébergeur je modifierai le code de mes pages avec le login + mot de passe qu'ils m'ont transmis. Je ne sais pas par contre si c'est possible

  10. #10
    Membre expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2005
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Points : 3 950
    Points
    3 950
    Par défaut
    Citation Envoyé par ced Voir le message
    Attention, là, c'est la limite de longueur annoncée par MySQL. Il ne s'agit pas d'un compte utilisateur dans une table qu'on crée soi-même et qu'on maîtrise, c'est un compte "utilisateur MySQL", et il est limité à 16 caractères. C'est une limite propre au SGBD...
    On ne peut pas changer les longueurs de champs dans la base "mysql" comme ça...
    Je voudrais juste comprendre précisément pourquoi.
    Je ne vois nulle part dans la doc MySQL de mise en garde particulière concernant cette colonne `User` de la table `user` de la base `mysql`.
    • Les noms d'utilisateurs, tels qu'utilisés pour le processus d'identification sous MySQL, n'ont rien à voir avec les noms d'utilisateurs Unix ou Windows. La plupart des clients utilisent par défaut leur mot de passe Unix, mais c'est surtout parce que c'est pratique. Les programmes clients permettent d'utiliser des noms d'utilisateurs différents avec les options -u et --user. Cela signifie que vous ne pouvez pas rendre une base de données sécuritaire sans donner de mots de passe à tous les clients. Tout le monde peut essayer de se connecter au serveur sous n'importe quel nom, et il sera possible de se connecter si un nom d'utilisateur n'a pas de mot de passe.
    • Les noms d'utilisateurs MySQL peuvent avoir jusqu'à 16 caractères ; les noms d'utilisateurs Unix sont généralement limités à 8 caractères.

  11. #11
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 036
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 036
    Points : 23 782
    Points
    23 782
    Par défaut
    Comme tu le vois dans la documentation, la limite du nombre de caractères aux noms d'utilisateurs est bien 16.
    Effectivement, rien ne dit qu'on ne peut pas modifier la structure de la table USER pour en augmenter la taille des champs (enfin, je n'ai pas lu toute la doc non plus ). Mais je ne suis pas sûr du résultat (même si une recherche sur le net semble montrer des exemples où ça aurait fonctionné).

    On trouve pas mal de bugs sur le sujet.

    Quoi qu'il en soit, il existe un patch pour ça, mais il faut recompiler...

    ced

  12. #12
    Membre expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2005
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Points : 3 950
    Points
    3 950
    Par défaut
    Citation Envoyé par ced Voir le message
    Effectivement, rien ne dit qu'on ne peut pas modifier la structure de la table USER pour en augmenter la taille des champs (enfin, je n'ai pas lu toute la doc non plus ).
    Alors là, je suis déçu, tu n'as même pas lu toute la doc ?
    Citation Envoyé par ced Voir le message
    Mais je ne suis pas sûr du résultat (même si une recherche sur le net semble montrer des exemples où ça aurait fonctionné).
    Merci pour ces infos, effectivement ça semble risqué et, curieusement, rien ne semble nous alerter à ce sujet dans la partie de la doc que j'ai lue.
    Je me montrerai donc plus prudent dans mes conseils à l'avenir.

  13. #13
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 036
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 036
    Points : 23 782
    Points
    23 782
    Par défaut
    Citation Envoyé par Maljuna Kris Voir le message
    Alors là, je suis déçu, tu n'as même pas lu toute la doc ?
    Je viens de combler cette affreuse lacune !

    Mais ça n'est pas dans la documentation française, seulement dans la documentation anglaise (et celle-là c'est encore plus sûr que je ne l'ai pas lue entièrement ) :
    MySQL usernames can be up to 16 characters long. This limit is hard-coded in the MySQL servers and clients, and trying to circumvent it by modifying the definitions of the tables in the mysql database does not work.
    Note

    You should never alter any of the tables in the mysql database in any manner whatsoever except by means of the procedure that is described in Section 4.4.9, “mysql_upgrade — Check Tables for MySQL Upgrade”. Attempting to redefine MySQL's system tables in any other fashion results in undefined (and unsupported!) behavior.
    Petite lacune de la traduction française ...
    Bref, apparemment, il ne vaut mieux pas y toucher

    ced

  14. #14
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    pensez-vous que ce que je propose dans mon dernier message est possible ? A savoir définir un login + mot de passe que je choisit, travailler en local sur le développement du site et au moment de l'héberger changer le login et le MDP fournit par mon hébergeur dans le code de mes pages ?

  15. #15
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 036
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 036
    Points : 23 782
    Points
    23 782
    Par défaut
    Ooops ! Désolé, on a un peu dévié du problème initial .
    C'est tout-à-fait faisable. Le tout est de ne faire qu'un seul jeu de variables de connexion dans l'application (pour n'avoir qu'une seule portion de code à modifier), et les modifier au moment de mettre en production.

    C'est courant d'avoir des identifiants de connexions différents sur un serveur de test et sur un serveur de production, le tout étant de penser à les mettre à jour quand on bascule en production...

    ced

  16. #16
    Membre expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2005
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Points : 3 950
    Points
    3 950
    Par défaut
    Oui, désolé, flashman pour ces digressions cependant très instructives (merci ced, j'ai plus qu'à traduire tout ça en espéranto, fissa ).
    Ce que je fais souvent c'est un petit fichier php qui comporte les identifiants de connexion à MySQL, dans un répertoire protégé. Et que j' `include' autant que de besoin.
    Comme ça, je fais de même sur le serveur de produc, je veux dire que je crée un fichier de même nom, qui contient les mêmes variables mais avec les valeurs adéquates. Et je n'ai pas à toucher au reste du code.

Discussions similaires

  1. Identifier et stopper un processus trop long
    Par Ksawery82 dans le forum C++
    Réponses: 1
    Dernier message: 29/11/2011, 18h46
  2. Identifiant trop long: BasicHttpBinding
    Par Jean_Benoit dans le forum Services Web
    Réponses: 0
    Dernier message: 29/09/2011, 14h26
  3. identifiant trop long
    Par DevServlet dans le forum Débuter
    Réponses: 4
    Dernier message: 11/05/2011, 16h17
  4. UPDATE fait planter mysql, trop long
    Par EnRadeSurEclipse dans le forum Requêtes
    Réponses: 5
    Dernier message: 05/02/2010, 23h49
  5. Arrêter un prog si temps de connexion trop long
    Par jakouz dans le forum Langage
    Réponses: 4
    Dernier message: 22/10/2002, 18h28

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