Accès refusé pour l'utilisateur: 'root'@'localhost'

Résolu
LoloLaSaumur Messages postés 33 Date d'inscription   Statut Membre Dernière intervention   -  
brucine Messages postés 24834 Date d'inscription   Statut Membre Dernière intervention   -

Bonjour,

J'essaye de mettre en place un site internet avec une base de données. Le site est 100% fonctionnel en local via Wampserver. Cependant j'aimerai l'héberger sur mon Raspberry Pi afin de pouvoir y accéder hors réseau local. J'ai donc installé sur mon RPi PHP, Mysql et phpMyAdmin. Je peux y accéder en utilisant l'adresse de mon RPi suivi de /phpmydamin. cependant quand je veux importer ma base de donnée, j'ai ce message d'erreur (voir photo). Je me suis renseigné sur internet mais je n'ai rien trouvé qui résolve mon problème.


Windows / Chrome 103.0.5060.134

6 réponses

  1. oakthunder Messages postés 31 Statut Membre 1
     

    J'ai hébergé plusieurs sites sur mon raspberrypi4 et j'ai toujours réussit à importer des bdd sur phpmyadmin.

    Peux-tu me détailler ton problème et me montrer le contenu du fichier que tu veux importer dans phpmyadmin.

    A tu vérifié les identifiants et les mots de passe de mysql.

    0
    1. LoloLaSaumur Messages postés 33 Date d'inscription   Statut Membre Dernière intervention  
       

      Bonjour, pour j'ai suivis ce tuto afin de configurer (https://raspberry-pi.fr/installer-serveur-web-raspberry-lamp/). J'ai donc modifié le mdp de root. Et je l'utilise pour me connecter sur phpmyadmin.

      Sinon pour ce qui est du contenu de ma base de donnée, cela reste assez basique. je ne pense pas que cela soit la source de mon problème. Mais je vais quand même partager le code : 

      -- phpMyAdmin SQL Dump
      -- version 5.1.1
      -- https://www.phpmyadmin.net/
      --
      -- Hôte : 127.0.0.1:3306
      -- Généré le : dim. 10 avr. 2022 à 09:56
      -- Version du serveur : 5.7.36
      -- Version de PHP : 7.4.26
      
      SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
      START TRANSACTION;
      SET time_zone = "+00:00";
      
      -- -----------------------------------------------------
      -- Schema db_heh_music
      -- -----------------------------------------------------
      CREATE SCHEMA IF NOT EXISTS db_heh_music DEFAULT CHARACTER SET utf8 ;
      USE db_heh_music ;
      
      
      /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
      /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
      /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
      /*!40101 SET NAMES utf8mb4 */;
      
      --
      -- Base de données : `db_heh_music`
      --
      
      -- --------------------------------------------------------
      
      --
      -- Structure de la table `client`
      --
      
      DROP TABLE IF EXISTS `client`;
      CREATE TABLE IF NOT EXISTS `client` (
        `ncli` int(11) NOT NULL AUTO_INCREMENT,
        `nom` varchar(255) NOT NULL,
        `prenom` varchar(255) NOT NULL,
        `mail` varchar(255) NOT NULL,
        `password` varchar(255) NOT NULL,
        `admin` int(11) NOT NULL,
        `visible` tinyint(4) NOT NULL,
        PRIMARY KEY (`ncli`)
      ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
      
      --
      -- Déchargement des données de la table `client`
      --
      
      INSERT INTO `client` (`ncli`, `nom`, `prenom`, `mail`, `password`, `admin`, `visible`) VALUES
      (1, 'Vandermiers', 'Loïc', '***@***', '$2y$10$.7.8mmKpBx//4lwN0DJmuu6gMUY1n4zKLRGqjUJgjpWV3bcyXEZsS', 1, 1);
      
      -- --------------------------------------------------------
      
      --
      -- Structure de la table `commande`
      --
      
      DROP TABLE IF EXISTS `commande`;
      CREATE TABLE IF NOT EXISTS `commande` (
        `ncom` int(11) NOT NULL,
        `nprod` int(11) NOT NULL,
        `quantité` int(11) NOT NULL,
        `date` datetime DEFAULT NULL,
        `ncli` int(11) DEFAULT NULL,
        PRIMARY KEY (`ncom`,`nprod`),
        KEY `ncli_idx` (`ncli`)
      ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
      
      -- --------------------------------------------------------
      
      --
      -- Structure de la table `panier`
      --
      
      DROP TABLE IF EXISTS `panier`;
      CREATE TABLE IF NOT EXISTS `panier` (
        `nprod` int(11) NOT NULL,
        `quantité` int(11) NOT NULL,
        `ncli` int(11) NOT NULL,
        PRIMARY KEY (`nprod`,`ncli`),
        KEY `ncli_idx` (`ncli`)
      ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
      
      -- --------------------------------------------------------
      
      --
      -- Structure de la table `produits`
      --
      
      DROP TABLE IF EXISTS `produits`;
      CREATE TABLE IF NOT EXISTS `produits` (
        `nprod` int(11) NOT NULL AUTO_INCREMENT,
        `nom_produit` varchar(255) NOT NULL,
        `artiste` varchar(255) NOT NULL,
        `prix` float NOT NULL,
        `visible` tinyint(4) NOT NULL,
        PRIMARY KEY (`nprod`)
      ) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8;
      
      --
      -- Déchargement des données de la table `produits`
      --
      
      INSERT INTO `produits` (`nprod`, `nom_produit`, `artiste`, `prix`, `visible`) VALUES
      (1, 'Batterie faible','Damso', 14.99, 1),
      (2, 'Ipséité','Damso', 6.99, 1),
      (3, 'Lithopedion','Damso', 9.99, 1),
      (4, 'Qalf infinity','Damso', 19.99, 1),
      (5, 'Civilisation','Orelsan', 14.99, 1),
      (6, 'La fête est finie','Orelsan', 17.99, 1),
      (7, 'Étrange histoire de Mr Anderson','Laylow', 11.99, 1),
      (8, 'Freestyle covid','Menace Santana', 19, 1),
      (9, '13','Indochine', 8.99, 1),
      (10, 'La vraie vie','Bigflo et Oli', 4.99, 1),
      (11, 'Les étoiles vagabondes','Nekfeu', 22.99, 1),
      (12, 'The 2nd law','Muse', 9.99, 1);
      
      --
      -- Contraintes pour les tables déchargées
      --
      
      --
      -- Contraintes pour la table `commande`
      --
      ALTER TABLE `commande`
        ADD CONSTRAINT `ncli_commande` FOREIGN KEY (`ncli`) REFERENCES `client` (`ncli`) ON DELETE NO ACTION ON UPDATE NO ACTION;
      
      --
      -- Contraintes pour la table `panier`
      --
      ALTER TABLE `panier`
        ADD CONSTRAINT `ncli_panier` FOREIGN KEY (`ncli`) REFERENCES `client` (`ncli`) ON DELETE NO ACTION ON UPDATE NO ACTION,
        ADD CONSTRAINT `nprod` FOREIGN KEY (`nprod`) REFERENCES `produits` (`nprod`) ON DELETE NO ACTION ON UPDATE NO ACTION;
      COMMIT;
      
      /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
      /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
      /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
      
      0
  2. oakthunder Messages postés 31 Statut Membre 1
     

    Je pense avoir trouvé le problème.

    Va sur ton pi allume le et connecte toi, ouvre un terminal.

    Entre les commandes suivantes :

    sudo mysql --user=root
    

    Une fois connecté fais ceci :

    DROP USER 'root'@'localhost';
    
    CREATE USER 'root'@'localhost' IDENTIFIED BY 'ton mdp';
    
    GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION;

    Lors de tes prochaines connexions avec le terminal utilise :

    sudo mysql --user=root --password=ton mdp

    Pour phpmyadmin j'ai eu des problèmes avec apt install phpmyadmin.

    Je te recommande de faire ceci les commentaires sont entre parenthèses ne les entres pas dans le terminal:

    cd /var/www/html (pour accéder au répertoire du serveur)
    
    sudo rm -R phpmyadmin (pour supprimer l'ancien dossier phpmyadmin)
    
    sudo wget https://files.phpmyadmin.net/phpMyAdmin/5.2.0/phpMyAdmin-5.2.0-all-languages.zip (pour telecharger phpmyadmin)
    
    sudo unzip phpMyAdmin-5.2.0-all-languages.zip (pour dézipper le fichier)
    
    sudo mv phpMyAdmin-5.2.0-all-languages phpmyadmin (pour renommer le dossier)
    
    sudo rm phpMyAdmin-5.2.0-all-languages.zip (pour supprimer le zip)

    Maintenant vas sur ip de ton pi/phpmyadmin et connecte toi.

    0
    1. LoloLaSaumur Messages postés 33 Date d'inscription   Statut Membre Dernière intervention  
       

      J'avais déjà modifier le mdp de mysql. Donc ici je me suis connecter avec le 

      sudo mysql --user=root --password=ton mdp

      Mais quand je veux effectuer le 

      GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION;

      J'ai ce message d'erreur

      0
  3. oakthunder Messages postés 31 Statut Membre 1
     

    Cela doit être un problème de mariadb, essaie de désinstaller puis de réinstaller mariadb avec ces commandes ensuite suis les commandes de ma précédente réponse :

    sudo apt remove mariadb
    
    sudo apt update
    
    sudo apt upgrade
    
    sudo apt install mariadb-server
    0
    1. LoloLaSaumur Messages postés 33 Date d'inscription   Statut Membre Dernière intervention  
       

      J'ai désinstallé puis réinstallé mariadb, cependant je ne peux plus me connecter avec 

      sudo mysql --user=root

      J'ai ce message d'erreur " Access denied for user 'root'@'localhost' (using password: NO)"

      0
  4. oakthunder Messages postés 31 Statut Membre 1
     

    Je pense avoir enfin trouvé le problème utilise :

    sudo mysql --user=root --password=ton mdp
    
    GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY 'ton mdp';
    
    FLUSH PRIVILEGES;
    
    quit
    0
    1. LoloLaSaumur Messages postés 33 Date d'inscription   Statut Membre Dernière intervention  
       

      Vu que j'ai désinstallé et réinstallé mariadb, mon ancien mdp n'est plus valable. Et si je me connecte avec 

      sudo mysql --user=root

      ca ne fonctionne pas

      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. oakthunder Messages postés 31 Statut Membre 1
     

    Ton fichier .sql fonctionne parfaitement quand je l'importe dans phpmyadmin.

    Pour mariadb essaie :

    sudo mysql --user=root --password=ton acien mdp

    ou

    sudo mysql

    puis :

    DROP USER 'root'@'localhost';
    
    CREATE USER 'root'@'localhost' IDENTIFIED BY 'ton mdp';
    
    GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY 'ton mdp';
    
    FLUSH PRIVILEGES;
    
    quit
    0
    1. LoloLaSaumur Messages postés 33 Date d'inscription   Statut Membre Dernière intervention  
       

      J'ai réussis à me connecter mais les commandes renvoient des erreurs quand même

      0
      1. brucine Messages postés 24834 Date d'inscription   Statut Membre Dernière intervention   4 166 > LoloLaSaumur Messages postés 33 Date d'inscription   Statut Membre Dernière intervention  
         

        Bonjour,

        Ne me sautez pas dessus, je n'y comprends pas grand-chose, je me contente si ça peut faire avancer les débats de vous soumettre une configuration test fonctionnelle MariaDB/Adminer que j'avais réalisée (pas pour moi, je ne m'en sers pas), et où le déblocage est probablement du au fait que l'on se sert non pas de root mais d'un utilisateur spécifique et où on aura noté que le mot de passe MariaDB n'est pas par défaut celui du Pi.

        1 Raspberry pi 4 4GO, installation Raspbian Buster standard, pi adresse 192.168.1.29
        
        Aspect logiciel
        Raspbian Buster embarque par défaut Apache 2 sur le pi 4, restent à installer MariaDB et Adminer.
        
        Installation de MariaDB
        sudo apt update
        sudo apt upgrade
        sudo apt install mariadb-server
        
        sudo mysql_secure-installation
        
        A toutes les questions posées, colonne de gauche, entrée utilisateur, colonne de droite:
        
        Enter current password			(entrée à blanc)
        Set root password			    Y 
        New password				    (celui de votre choix) 
        Re-enter new password			(confirmer)
        Remove anonymous users			Y
        Disallow root login remotely	Y
        Remove the test database		Y
        Reload privileges tables		Y
        
        MariaDB a ses propres identifiants et mots de passe, qui ne sont pas ceux du pi.
        Par défaut, MariaDB se connectera à la boucle locale (localhost ou 127.0.0.1) et s'adressera donc à root@localhost. Des conflits sont documentés quand on utilise l'utilisateur root
        
        sudo mysql -uroot -p
        password: monmdp
        
        CREATE DATABASE test;
        
        Pendant que l'on y est, et pour les raisons évoquées précédemment, on va créer un utilisateur dédié:
        
        CREATE USER 'toto' IDENTIFIED BY 'monmdp';
        GRANT ALL PRIVILEGES ON test.* TO 'toto'@'localhost';
        
        On ressort, on vérifie si ça fonctionne:
        
        sudo mysql -utoto -p
        
        Installation de Adminer.
        
        Je ne me suis pas enquiquiné, je suis allé dans Add/Remove Software et j'ai installé adminer (4.7.1.1.) mais rien n'interdit:
        
        sudo apt install adminer
        
        Téléchargeons maintenant notre fichier adminer.php sur le pi dans le dossier qui convient:
        
        sudo wget "http://www.adminer.org/latest.php" -O/var/www/html/adminer.php
        
        Il ne reste plus qu'à contrôler en local puis à partir du PC Windows client.
        
        http://192.168.1.29/adminer.php
        
        0
  7. oakthunder Messages postés 31 Statut Membre 1
     

    Adminer peut fonctionner.

    Mais il faut que utilise raspberrypi imager pour graver un nouvel OS sut ta carte SD, chosis raspberrypi OS other puis raspberrypi OS 64 bit, ensuite grave la micro SD.Puis execute ses commandes une fois que tu auras connecté ton pi à internet.

    sudo apt update
    
    sudo apt upgrade
    
    sudo apt update
    
    sudo apt install apache2 mariadb-server libapache2-mod-php
    
    sudo apt install php-gd php-json php-mysql php-curl php-mbstring php-intl php-imagick php-xml php-zip
    
    cd /var/www/html
    
    sudo wget https://files.phpmyadmin.net/phpMyAdmin/5.2.0/phpMyAdmin-5.2.0-all-languages.zip 
    
    sudo unzip phpMyAdmin-5.2.0-all-languages.zip
    
    sudo mv phpMyAdmin-5.2.0-all-languages phpmyadmin
    
    sudo rm phpMyAdmin-5.2.0-all-languages.zip
    
    sudo mysql --user=root
    
    DROP USER 'root'@'localhost';
    
    CREATE USER 'root'@'localhost' IDENTIFIED BY 'ton mdp';
    
    GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY 'ton mdp';
    
    FLUSH PRIVILEGES;
    
    quit

    Maintenant tu peut utiliser phpmyadmin

    0
    1. LoloLaSaumur Messages postés 33 Date d'inscription   Statut Membre Dernière intervention  
       

      J'espérai ne pas en arriver là mais je pense que en effet je n'aurai pas d'autres solutions. Je vais essayer ça demain je tiendrai au courant de l'évolution.

      0
      1. brucine Messages postés 24834 Date d'inscription   Statut Membre Dernière intervention   4 166 > LoloLaSaumur Messages postés 33 Date d'inscription   Statut Membre Dernière intervention  
         

        Pour PhpMyAdmin, je n'en sais rien, je ne me suis pas servi du Pi depuis un moment, et on ne sait pas quelle mouture LoloLaSaumur embarque sur son Pi.

        Mais toujours de mémoire, si on ne veut pas s'enquiquiner à faire une nouvelle carte SD avec une nouvelle mouture via Raspberry Pi Imager (et surtout y remettre tout ce qu'on y avait), les Pi 4 sont chargés par défaut avec Raspbian/Raspberry Pi OS, où Apache 2 est pré-installé et MariaDB également directement disponible via les dépôts pré-paramétrés (ou par le gestionnaire de paquets graphique pour ceux qui préfèrent).

        1
    2. LoloLaSaumur Messages postés 33 Date d'inscription   Statut Membre Dernière intervention  
       

      Je viens de tout refaire comme demander. Tout fonctionne nickel sans erreurs. Cependant quand je veux accéder à phpmyadmin avec l'adresse "IP de mon raspberry/phpmyadmin", j'ai un écran blanc sans aucun message.

      UPDATE : grace à cette commande la page d'accueil de phpmyadmin s'est affichée

      sudo ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin

      UPDATE numéro 2 : j'ai bel et bien réussi à importer ma base de données. Merci beaucoup pour ton temps et ton aide !

      0