Problème de connexion à MySQL avec MAMP

juleko Messages postés 14 Statut Membre -  
juleko Messages postés 14 Statut Membre -
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

3 réponses

  1. FlawTECH Messages postés 193 Date d'inscription   Statut Membre Dernière intervention   102
     
    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 ?
    1
    1. juleko Messages postés 14 Statut Membre
       
      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
      0
    2. juleko Messages postés 14 Statut Membre
       
      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'
      0
    3. FlawTECH Messages postés 193 Date d'inscription   Statut Membre Dernière intervention   102
       
      Ok, enlève le -p de la commande, comme suit :
      /Applications/MAMP/Library/bin/mysqladmin -u root
      0
    4. juleko Messages postés 14 Statut Membre
       
      Je l'ai fait mais ça ne change rien, il me crache toujours sa suite de commandes existantes :(
      0
    5. FlawTECH Messages postés 193 Date d'inscription   Statut Membre Dernière intervention   102
       
      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.
      0
  2. FlawTECH Messages postés 193 Date d'inscription   Statut Membre Dernière intervention   102
     
    Bonjour,

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

    Cordialement,

    FlawTECH
    0
  3. juleko Messages postés 14 Statut Membre
     
    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
    0
    1. FlawTECH Messages postés 193 Date d'inscription   Statut Membre Dernière intervention   102
       
      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 ?
      0
    2. juleko Messages postés 14 Statut Membre
       
      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:
      0