sql >> Database teknologi >  >> RDS >> Mysql

ER_HOST_NOT_PRIVILEGED - docker-container kan ikke oprette forbindelse til mariadb

Fejlen du modtager er forårsaget af, at MariaDB mener, at du ikke er autoriseret til at oprette forbindelse til serveren. Det betyder, at du ikke har oprettet en databasebruger til Node.js-appen, eller at bevillingerne til den bruger er forkerte.

En idiotsikker måde at løse dette på er at oprette en separat bruger til Node.js-applikationen. Du kan automatisere dette ved at skrive følgende SQL ind i en fil og montere volumen i /docker-entrypoint-initdb.d .

CREATE USER 'my-app-user'@'%' IDENTIFIED BY 'my-app-password';
GRANT ALL ON *.* TO 'my-app-user'@'%';

Skift brugernavn og adgangskode i overensstemmelse hermed, og reducer de givne privilegier fra ALL privilegium. Du kan også ændre jokertegnet værtsnavnet % til en bestemt IP-adresse eller værtsnavn.



  1. Hvordan bruger man GROUP BY til at sammenkæde strenge i MySQL?

  2. ActiveRecord where_in() med array

  3. Hvordan laver man LEFT JOIN med mere end 2 borde?

  4. Django + MySQL på Elastic Beanstalk - Fejl ved forespørgsel efter MySQL