sql >> Databasteknik >  >> RDS >> Mysql

ER_HOST_NOT_PRIVILEGED - docker-behållaren kan inte ansluta till mariadb

Felet du får beror på att MariaDB tror att du inte är behörig att ansluta till servern. Det betyder att du inte har skapat en databasanvändare för Node.js-appen eller så är anslagen för den användaren felaktiga.

Ett idiotsäkert sätt att lösa detta är att skapa en separat användare för Node.js-applikationen. Du kan automatisera detta genom att skriva följande SQL i en fil och montera volymen i /docker-entrypoint-initdb.d .

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

Ändra användarnamn och lösenord i enlighet med detta och minska de givna behörigheterna från ALL privilegium. Du kan också ändra jokertecknets värdnamn % till en specifik IP-adress eller värdnamn.



  1. Sql enkel nybörjaroperation

  2. Utför flera UPPDATERINGAR i en SQL-fråga med PHP

  3. Hur DAYNAME() fungerar i MariaDB

  4. LADDA DATA är inte tillåtet i lagrade procedurer