Problème de connexion à MySQL avec MAMP - MySQL

A voir également:Problème de connexion à mysql avec mampFormulaire de connexion php mysql avec PDO ✓ - Forum - PHP Probleme de connexion php mysql ✓ - Forum - PHP Connexion à MySQL avec JDBC impossible en externe ✓ - Forum - MySQL Problème de connexion à mysql ✓ - Forum - Webmaster Connexion java mysql ✓ - Forum - Java

Bonjour à tous,
lorsque j'essaie de me connecter à ma bdd avec un programme tout simple comme:

 <?php try { $bdd = new PDO('mysql:host=127.0.0.1;dbname=users', 'root', 'root'); }  catch(Exception $e) {         die('Erreur : '.$e->getMessage()); } ?> 


Ma page m'affiche ce message d'erreur:
Erreur : SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using password: YES)

J'ai pourtant bien crée ma table users, j'y ai tous les privilèges et j'ai mis ('root', 'root') comme identifiant et mot de passe comme recommandé sur MAMP,
quelqu'un aurait une idée d'où cela pourrait provenir?
Merci d'avance pour vos réponses

Forum

A voir également:Problème de connexion à mysql avec mampFormulaire de connexion php mysql avec PDO ✓ - Forum - PHP Probleme de connexion php mysql ✓ - Forum - PHP Connexion à MySQL avec JDBC impossible en externe ✓ - Forum - MySQL Problème de connexion à mysql ✓ - Forum - Webmaster Connexion java mysql ✓ - Forum - Java

Web: www.shapebootstrap.net

23 réponses

Marsh

NOVEMBER 9, 2013 AT 9:15 PM

Bonjour,

Avez-vous essayé de vous y connecter manuellement (en utilisant la console ou via phpmyadmin) en utilisant ces identifiants ?

Cordialement,

FlawTECH

Reply

Marsh

NOVEMBER 9, 2013 AT 9:15 PM

Bonjour,
Je ne sais pas comment m'y connecter depuis la console (elle ne reconnaît pas la commande mysql), en revanche je peux effectuer des requêtes depuis phpMyAdmin comme (avec users comme nom de table):
 SELECT * FROM users WHERE 1 

Et MySQL me renvoie les champs de ma table correctement,
Cordialement

Reply
réponses:
  • auteur

    Elle ne trouve pas la commande car ton terminal ne connaît pas l'emplacement de MySQL. Par contre, tu dis pouvoir executer la commande via phpMyAdmin, tu as donc dû te connecter. As-tu utilisé les mêmes identifiants ou as-tu été connecté automatiquement ?

  • auteur

    Non j'ai été connecté automatiquement, en lançant MAMP il m'envoie sur sa page, de là je vais sur
    Tools->phpMyAdmin et je suis connecté directement. Mais lorsque je lance MAMP, j'ai ces indications sur MySQL:

Marsh

NOVEMBER 9, 2013 AT 9:15 PM

Re,

On va essayer de se connecter via le terminal. Selon la documentation, MySQL se situe dans /Applications/MAMP/Library/bin/mysqladmin. Essaie donc la commande
/Applications/MAMP/Library/bin/mysqladmin -u root -p
.
Il te demandera le mot de passe de root (rien ne s'affiche quand tu écris, mais pas de panique, l'application lira bien le mot de passe).

Est-ce que tu parviens à te connecter de cette manière ?
fhppbpibapeh-9fpoh
Ok, le clavier fonctionne, parfait.

Reply
réponses:
  • auteur

  • auteur

    Quand je lance cette commande, ça semble lancer Oracle, et aucun mot de passe ne m'est demandé, voilà ce que ça affiche:

    ../../Applications/MAMP/Library/bin/mysqladmin Ver 8.42 Distrib 5.6.38, for osx10.9 on x86_64
    Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.

    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.

    Administration program for the mysqld daemon.
    Usage: ../../Applications/MAMP/Library/bin/mysqladmin [OPTIONS] command command....
    --bind-address=name IP address to bind to.
    -c, --count=# Number of iterations to make. This works with -i
    (--sleep) only.
    --debug-check Check memory and open file usage at exit.
    --debug-info Print some debug info at exit.
    -f, --force Don't ask for confirmation on drop database; with
    multiple commands, continue even if an error occurs.
    -C, --compress Use compression in server/client protocol.
    --character-sets-dir=name
    Directory for character set files.
    --default-character-set=name
    Set the default character set.
    -?, --help Display this help and exit.
    -h, --host=name Connect to host.
    -b, --no-beep Turn off beep on error.
    -p, --password[=name]
    Password to use when connecting to server. If password is
    not given it's asked from the tty.
    -P, --port=# Port number to use for connection or 0 for default to, in
    order of preference, my.cnf, $MYSQL_TCP_PORT,
    /etc/services, built-in default (3306).
    --protocol=name The protocol to use for connection (tcp, socket, pipe,
    memory).
    -r, --relative Show difference between current and previous values when
    used with -i. Currently only works with extended-status.
    --secure-auth Refuse client connecting to server if it uses old
    (pre-4.1.1) protocol.
    (Defaults to on; use --skip-secure-auth to disable.)
    -s, --silent Silently exit if one can't connect to server.
    -S, --socket=name The socket file to use for connection.
    -i, --sleep=# Execute commands repeatedly with a sleep between.
    --ssl Enable SSL for connection (automatically enabled with
    other flags).
    --ssl-ca=name CA file in PEM format (check OpenSSL docs, implies
    --ssl).
    --ssl-capath=name CA directory (check OpenSSL docs, implies --ssl).
    --ssl-cert=name X509 cert in PEM format (implies --ssl).
    --ssl-cipher=name SSL cipher to use (implies --ssl).
    --ssl-key=name X509 key in PEM format (implies --ssl).
    --ssl-crl=name Certificate revocation list (implies --ssl).
    --ssl-crlpath=name Certificate revocation list path (implies --ssl).
    --ssl-verify-server-cert
    Verify server's "Common Name" in its cert against
    hostname used when connecting. This option is disabled by
    default.
    --ssl-mode=name SSL connection mode.
    -u, --user=name User for login if not current user.
    -v, --verbose Write more information.
    -V, --version Output version information and exit.
    -E, --vertical Print output vertically. Is similar to --relative, but
    prints output vertically.
    -w, --wait[=#] Wait and retry if connection is down.
    --connect-timeout=#
    --shutdown-timeout=#
    --plugin-dir=name Directory for client-side plugins.
    --default-auth=name Default authentication client-side plugin to use.
    --enable-cleartext-plugin
    Enable/disable the clear text authentication plugin.

    Variables (--variable-name=value)
    and boolean options {FALSE|TRUE} Value (after reading options)
    --------------------------------- ----------------------------------------
    bind-address (No default value)
    count 0
    debug-check FALSE
    debug-info FALSE
    force FALSE
    compress FALSE
    character-sets-dir (No default value)
    default-character-set auto
    host (No default value)
    no-beep FALSE
    port 0
    relative FALSE
    secure-auth TRUE
    socket (No default value)
    sleep 0
    ssl FALSE
    ssl-ca (No default value)
    ssl-capath (No default value)
    ssl-cert (No default value)
    ssl-cipher (No default value)
    ssl-key (No default value)
    ssl-crl (No default value)
    ssl-crlpath (No default value)
    ssl-verify-server-cert FALSE
    user root
    verbose FALSE
    vertical FALSE
    connect-timeout 43200
    shutdown-timeout 3600
    plugin-dir (No default value)
    default-auth (No default value)
    enable-cleartext-plugin FALSE

    Default options are read from the following files in the given order:
    /etc/my.cnf /etc/mysql/my.cnf /Applications/MAMP/conf/my.cnf ~/.my.cnf
    The following groups are read: mysqladmin client
    The following options may be given as the first argument:
    --print-defaults Print the program argument list and exit.
    --no-defaults Don't read default options from any option file,
    except for login file.
    --defaults-file=# Only read default options from the given file #.
    --defaults-extra-file=# Read this file after the global files are read.
    --defaults-group-suffix=#
    Also read groups with concat(group, suffix)
    --login-path=# Read this path from the login file.

    Where command is a one or more of: (Commands may be shortened)
    create databasename Create a new database
    debug Instruct server to write debug information to log
    drop databasename Delete a database and all its tables
    extended-status Gives an extended status message from the server
    flush-hosts Flush all cached hosts
    flush-logs Flush all logs
    flush-status Clear status variables
    flush-tables Flush all tables
    flush-threads Flush the thread cache
    flush-privileges Reload grant tables (same as reload)
    kill id,id,... Kill mysql threads
    password [new-password] Change old password to new-password in current format
    old-password [new-password] Change old password to new-password in old format
    ping Check if mysqld is alive
    processlist Show list of active threads in server
    reload Reload grant tables
    refresh Flush all tables and close and open logfiles
    shutdown Take server down
    status Gives a short status message from the server
    start-slave Start slave
    stop-slave Stop slave
    variables Prints variables available
    version Get version info from server

  • auteur

    J'ai essayé avec cette commande
    ../../Applications/MAMP/Library/bin/mysqladmin -u root -p root, et il me demande un mot de passe avec ça, je tape donc root et il me répond:

    Enter password:
    ../../Applications/MAMP/Library/bin/mysqladmin: Unknown command: 'root'

  • auteur

    Ok, enlève le -p de la commande, comme suit :

    /Applications/MAMP/Library/bin/mysqladmin -u root

  • auteur

    Je l'ai fait mais ça ne change rien, il me crache toujours sa suite de commandes existantes :(

  • auteur

    Peux-tu faire une capture d'écran de ton utilisation de la commande ? La sortie n'est pas normale, c'est comme si il ignorait les paramètres.

  • auteur

    Je ne suis pas sûr d'avoir compris ce que tu demandais, voilà ce que je rentre:



    Mêmes résultats pour ces deux commandes

  • auteur

    Ok, je viens de me rendre compte de mon erreur (grave !). Il faut se connecter en utilisant mysql, non pas mysqladmin :). Donc :

    /Applications/MAMP/Library/bin/mysql -u root -p
    .

    Encore désolé, je n'avais pas remarqué que j'avais copié le mauvais chemin

  • auteur

    Pas de soucis c'est déjà gentil à toi de m'aider :)
    Effectivement ça marche mieux et j'arrive à me connecter à mysql avec root comme mot de passe!

  • auteur

    Ouf ! On avance enfin :)
    Maintenant que tu es connecté, essaie de lister le contenu de la table users :

    use users;
    select * from users;

  • auteur

    Ok ça me renvoie Empty set:


    Pourtant ma table contient bien des champs:

  • auteur

    C'est normal, ta table contient bien des champs mais pas d'entrée. Le select affiche les entrées donc il nous dit que c'est vide.

    On va lister les utilisateurs pour voir s' il n' y a pas un conflit :

    SELECT User FROM mysql.user;

  • auteur

    Ah ok! Voilà ce que ça m'affiche:

  • auteur

    Ah, des utilisateurs anonymes. On va quand même verifier le nom d'hôte avant de les supprimer car ils rentrent en conflit.

    SELECT host,User FROM mysql.user;

  • auteur

    Bon à partir de là je comprends plus grand chose^^

  • auteur

    Ne t'en fais pas (désolé pour les réponses tardives, je suis sur un sujet qui me donne du fil à retordre en même temps ;) ).

    Commandes pour virer les utilisateurs anonymes :

    DELETE FROM mysql.user WHERE User='';
    FLUSH PRIVILEGES;


    Après ça, retente la connexion via PHP

  • auteur

    Pas de problème j'ai d'autres choses à côté aussi, j'ai exécuté les commandes:



    En revanche, j'ai toujours la même erreur quand j'essaie de me connecter avec PHP :(

  • auteur

    Eh bien c'est très étrange...
    On a constaté que tu as tous les droits et qu'il ne peut pas y avoir d'ambiguïté avec les utilisateurs anonymes puisqu'on les a supprimés. J'en appelle aux autres membres de la communauté, mes connaissances s'arrêtent ici malheursement.

    Bonne journée quand même.

    FlawTECH

  • auteur

    D'accord tant pis, merci quand même d'avoir essayé de m'aider! :)

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed