Acceso denegado para el usuario: 'root'@'localhost'
Resueltobrucine 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
-
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?
-
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 */;
-
-
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.
-
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
-
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 -
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
-
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
-
-
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
-
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.
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).
-
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/phpmyadminACTUALIZACIÓN 2: de hecho logré importar mi base de datos. ¡Muchas gracias por tu tiempo y tu ayuda!
-

