sql >> Databasteknik >  >> Database Tools >> phpMyAdmin

åtkomst nekad för användare efter att ha flyttat MySQL-databas till fjärrserver

MySQL-behörigheter baseras på adressen som de ansluter till samt användaren. Så [email protected] och [email protected] kommer att ha två separata uppsättningar behörigheter. Att ändra localhost till 127.0.0.1 som num8er nämnt kommer förmodligen att fungera om din kod och databasen finns på samma server.

Om du har terminalåtkomst till boxen där din php finns kan du försöka ansluta direkt och utesluta något som har med php att göra med detta:

mysql -h 10.4.1.163 -u root -p[pass] database -e "SHOW TABLES"

Observera att det inte finns något mellanslag mellan -p och lösenordet. Om detta lyckas får du en lista med tabeller i database .

För att ge åtkomst till andra användare eller för ett annat värdnamn/IP kommer du att vilja köra något i stil med detta:(även om du egentligen borde skapa en separat användare med mer begränsade behörigheter baserat på dina krav).

GRANT ALL PRIVILEGES ON `database`.* TO 'root'@'10.4.1.163';

Kontrollera dokumenten på MySQL:s GRANT här - http://dev.mysql .com/doc/refman/5.7/en/grant.html

Som en sidoanteckning - snälla, snälla, snälla, snälla, pumpa inte bara in gammal data i en fråga utan att åtminstone använda mysql_real_escape_string (http://php.net/manual/en/ function.mysql-real-escape-string.php ) på den i förväg. Du kan också titta på PDO (http://php. net/manual/en/book.pdo.php ) som i allmänhet är att föredra framför den nu utfasade mysql_ funktioner




  1. hur man inaktiverar fjärrinloggning till phpmyadmin

  2. Hur kan jag skapa en kolumn som lagrar tiden som raden skapades i mysql?

  3. Migrera databaser med hjälp av phpMyAdmins spårningsmekanism

  4. Hur felsöker eller stegar du igenom koden i SQL Server Management Studio 18?