sql >> Database teknologi >  >> Database Tools >> phpMyAdmin

adgang nægtet for bruger efter flytning af MySQL-database til fjernserver

MySQL-tilladelser er baseret på den adresse, som de opretter forbindelse til, samt brugeren. Så [email protected] og [email protected] vil have to separate sæt tilladelser. Ændring af localhost til 127.0.0.1 som num8er nævnt vil sandsynligvis fungere, hvis din kode og databasen er på den samme server.

Hvis du har terminaladgang til boksen, hvor din php er, kan du prøve at oprette forbindelse direkte og udelukke noget, der har med php at gøre ved at bruge dette:

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

Bemærk, at der ikke er mellemrum mellem -p og adgangskoden. Hvis det lykkes, får du en liste over tabeller i database .

For at give adgang til andre brugere eller til et andet værtsnavn/IP, vil du gerne køre noget i stil med dette:(selvom du egentlig burde oprette en separat bruger med mere begrænsede tilladelser baseret på dine krav).

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

Tjek dokumenterne på MySQL's GRANT her - http://dev.mysql .com/doc/refman/5.7/da/grant.html

Som en sidebemærkning - venligst, venligst, lad være med at pumpe gamle data ind i en forespørgsel uden i det mindste at bruge mysql_real_escape_string (http://php.net/manual/en/ function.mysql-real-escape-string.php ) på det i forvejen. Du kan også se på PDO (http://php. net/manual/da/book.pdo.php ) som generelt foretrækkes frem for den nu forældede mysql_ funktioner




  1. Hvorfor får jeg NULL-værdier på Left Join?

  2. hvordan man importerer afgrænsede data til mysql i phpmyadmin

  3. Nginx med phpmyadmin forkert omdirigering efter login

  4. Hvorfor opretter phpmyadmin ikke værdier for enum type?