Acceso denegado para el usuario: 'root'@'localhost'

Resuelto
LoloLaSaumur Mensajes publicados 33 Fecha de registro   Estado Miembro Última intervención   -  
brucine Mensajes publicados 24845 Fecha de registro   Estado Miembro Última intervención   -

Hola,

Estoy tratando de poner en marcha un sitio web con una base de datos. El sitio funciona al 100% en local con Wampserver. Sin embargo, me gustaría alojarlo en mi Raspberry Pi para poder acceder fuera de la red local. He instalado en mi RPi PHP, Mysql y phpMyAdmin. Puedo acceder usando la dirección de mi RPi seguida de /phpmyadmin. sin embargo, cuando intento importar mi base de datos, aparece este mensaje de error (ver foto). He buscado en Internet pero no he encontrado nada que resuelva mi problema.


6 respuestas

  1. oakthunder Mensajes publicados 31 Estado Miembro 1
     

    He alojado varios sitios en mi Raspberry Pi 4 y siempre he logrado importar bases de datos en phpMyAdmin.

    ¿Podrías detallar tu problema y mostrar el contenido del archivo que quieres importar en phpMyAdmin?

    ¿Has verificado las credenciales y las contraseñas de MySQL?

    0
    1. LoloLaSaumur Mensajes publicados 33 Fecha de registro   Estado Miembro Última intervención  
       

      Hola, para ... he seguido este tutorial para configurar (https://raspberry-pi.fr/installer-serveur-web-raspberry-lamp/). Por lo tanto, he cambiado la contraseña de root. Y la utilizo para conectarme a phpMyAdmin.

      En cuanto al contenido de mi base de datos, sigue siendo bastante básico. No creo que sea la fuente de mi problema. Pero aun así voy a compartir el código: 

      -- 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 datos : `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 Mensajes publicados 31 Estado Miembro 1
     

    Creo que he encontrado el problema.

    Ve a tu pi enciéndelo y conéctate, abre un terminal.

    Escribe los siguientes comandos :

    sudo mysql --user=root 

    Una vez conectado haz esto :

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

    Durante tus próximas conexiones con el terminal usa :

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

    Para phpmyadmin tuve problemas con apt install phpmyadmin.

    Te recomiendo hacer lo siguiente; los comentarios están entre paréntesis y no los incluyas en el terminal:

    cd /var/www/html (para acceder al directorio del servidor) sudo rm -R phpmyadmin (para eliminar la antigua carpeta phpmyadmin) sudo wget https://files.phpmyadmin.net/phpMyAdmin/5.2.0/phpMyAdmin-5.2.0-all-languages.zip (para descargar phpmyadmin) sudo unzip phpMyAdmin-5.2.0-all-languages.zip (para descomprimir el archivo) sudo mv phpMyAdmin-5.2.0-all-languages phpmyadmin (para renombrar la carpeta) sudo rm phpMyAdmin-5.2.0-all-languages.zip (para eliminar el zip)

    Ahora ve a la ip de tu pi/phpmyadmin y conéctate.

    0
    1. LoloLaSaumur Mensajes publicados 33 Fecha de registro   Estado Miembro Última intervención  
       

      Ya había cambiado la contraseña de MySQL. Así que aquí me conecté con

       sudo mysql --user=root --password=tu contraseña

      Pero cuando quiero ejecutar

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

      Tengo este mensaje de error

      0
  3. oakthunder Mensajes publicados 31 Estado Miembro 1
     

    Debe ser un problema de MariaDB, intenta desinstalar y luego volver a instalar MariaDB con estos comandos y luego sigue los comandos de mi respuesta anterior:

    sudo apt remove mariadb sudo apt update sudo apt upgrade sudo apt install mariadb-server
    0
    1. LoloLaSaumur Mensajes publicados 33 Fecha de registro   Estado Miembro Última intervención  
       

      Desinstalé luego volví a instalar MariaDB, pero ya no puedo conectarme con

       sudo mysql --user=root

      Tengo este mensaje de error "Access denied for user 'root'@'localhost' (using password: NO)"

      0
  4. oakthunder Mensajes publicados 31 Estado Miembro 1
     

    Creo haber encontrado finalmente el problema, usa:

     sudo mysql --user=root --password=ton mdp GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY 'ton mdp'; FLUSH PRIVILEGES; quit
    0
    1. LoloLaSaumur Mensajes publicados 33 Fecha de registro   Estado Miembro Última intervención  
       

      Como desinstalé y reinstalé MariaDB, mi contraseña anterior ya no es válida. Y si intento conectarme con

       sudo mysql --user=root

      no funciona

      0
  5. oakthunder Mensajes publicados 31 Estado Miembro 1
     

    Tu archivo .sql funciona perfectamente cuando lo importo en phpMyAdmin.

    Para MariaDB prueba:

    sudo mysql --user=root --password=tu antigua contraseña

    o

    sudo mysql

    luego:

    DROP USER 'root'@'localhost'; CREATE USER 'root'@'localhost' IDENTIFIED BY 'tu contraseña'; GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY 'tu contraseña'; FLUSH PRIVILEGES; quit
    0
    1. LoloLaSaumur Mensajes publicados 33 Fecha de registro   Estado Miembro Última intervención  
       

      Logré conectarme, pero los comandos siguen devolviendo errores

      0
      1. brucine Mensajes publicados 24845 Fecha de registro   Estado Miembro Última intervención   4 169 > LoloLaSaumur Mensajes publicados 33 Fecha de registro   Estado Miembro Última intervención  
         

        Hola,

        No me ataques, no entiendo mucho, me limito a, si puede ayudar a avanzar los debates, a ponerte una configuración de prueba funcional de MariaDB/Adminer que había realizado (no para mí, no la uso), y donde el desbloqueo probablemente se deba a que no se utiliza root sino un usuario específico y donde se habrá observado que la contraseña de MariaDB no es la por defecto del Pi.

         1 Raspberry pi 4 4GO, instalación Raspbian Buster standard, pi adresse 192.168.1.29 Aspect logiciel Raspbian Buster embarqué por defecto Apache 2 en el pi 4, quedan por instalar MariaDB y Adminer. Instalación de MariaDB sudo apt update sudo apt upgrade sudo apt install mariadb-server sudo mysql_secure-installation A todas las preguntas planteadas, columna de la izquierda, entrada de usuario, columna de la derecha: Enter current password (entrada en blanco) Set root password Y New password (el que elijas) Re-enter new password (confirmar) Remove anonymous users Y Disallow root login remotely Y Remove the test database Y Reload privileges tables Y MariaDB tiene sus propias credenciales y contraseñas, que no son las del pi. Por defecto, MariaDB se conectará a la bucle local (localhost o 127.0.0.1) y se dirigirá por lo tanto a root@localhost. Conflictos documentados cuando se utiliza el usuario root sudo mysql -uroot -p password: miPassword CREATE DATABASE test; Mientras seguimos, y por las razones mencionadas anteriormente, vamos a crear un usuario dedicado: CREATE USER 'toto' IDENTIFIED BY 'miPassword'; GRANT ALL PRIVILEGES ON test.* TO 'toto'@'localhost'; Salimos, comprobamos si funciona: sudo mysql -utoto -p Instalación de Adminer. No me compliqué, fui a Add/Remove Software y instalé Adminer (4.7.1.1) pero nada impide: sudo apt install adminer Descarguemos ahora nuestro archivo adminer.php en el pi en la carpeta que corresponda: sudo wget "http://www.adminer.org/latest.php" -O/var/www/html/adminer.php Solo queda comprobar localmente y luego desde el PC cliente con Windows. http://192.168.1.29/adminer.php 
        0
  6. oakthunder Mensajes publicados 31 Estado Miembro 1
     

    Adminer puede funcionar.

    Pero hay que usar Raspberry Pi Imager para grabar un nuevo OS en tu tarjeta SD, elegir Raspberry Pi OS Other y luego Raspberry Pi OS 64 bit, luego graba la micro SD. Después ejecuta estos comandos una vez que hayas conectado tu Pi a 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 'tu contraseña';
    GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY 'tu contraseña';
    FLUSH PRIVILEGES;
    quit

    Maintenant tu peux utiliser phpMyAdmin

    0
    1. LoloLaSaumur Mensajes publicados 33 Fecha de registro   Estado Miembro Última intervención  
       

      Esperaba no llegar a eso, pero creo que, de hecho, no tendré otras soluciones. Probaré eso mañana y te mantendré informado sobre la evolución.

      0
      1. brucine Mensajes publicados 24845 Fecha de registro   Estado Miembro Última intervención   4 169 > LoloLaSaumur Mensajes publicados 33 Fecha de registro   Estado Miembro Última intervención  
         

        Para PhpMyAdmin, no lo sé, no he usado el Pi en un tiempo, y no se sabe qué versión trae LoloLaSaumur en su Pi.

        Pero, según recuerdo, si no quieres molestarte en hacer una nueva tarjeta SD con una nueva versión mediante Raspberry Pi Imager (y sobre todo volver a poner todo lo que tenías), los Pi 4 se cargan por defecto con Raspbian/Raspberry Pi OS, donde Apache 2 está preinstalado y MariaDB también está disponible directamente a través de los repositorios ya configurados (o mediante el gestor de paquetes gráfico para quienes lo prefieren).

        1
    2. LoloLaSaumur Mensajes publicados 33 Fecha de registro   Estado Miembro Última intervención  
       

      Acabo de rehacerlo todo como se pidió. Todo funciona perfectamente sin errores. Sin embargo, cuando intento acceder a phpMyAdmin con la dirección "IP de mi Raspberry/piMyAdmin", aparece una pantalla en blanco sin ningún mensaje.

      ACTUALIZACIÓN: gracias a este comando se mostró la página de inicio de phpMyAdmin

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

      ACTUALIZACIÓN 2: de hecho logré importar mi base de datos. ¡Muchas gracias por tu tiempo y tu ayuda!

      0