MySQL-machtigingen zijn gebaseerd op het adres waarmee ze verbinding maken, evenals op de gebruiker. Dus [email protected] en [email protected] heeft twee afzonderlijke machtigingen. Het wijzigen van localhost naar 127.0.0.1 zoals genoemd num8er zal waarschijnlijk werken als uw code en de database zich op dezelfde server bevinden.
Als je terminaltoegang hebt tot het vak waar je php zich bevindt, kun je proberen om rechtstreeks verbinding te maken, zodat je niets met php te maken hebt door dit te gebruiken:
mysql -h 10.4.1.163 -u root -p[pass] database -e "SHOW TABLES"
Let op er is geen spatie tussen -p
en het wachtwoord. Als dit lukt, krijgt u een lijst met tabellen in de database
.
Om toegang te verlenen aan andere gebruikers of voor een andere hostnaam/IP, wil je iets in de trant van dit uitvoeren:(hoewel je echt een aparte gebruiker zou moeten maken met meer beperkte rechten op basis van je vereisten).
GRANT ALL PRIVILEGES ON `database`.* TO 'root'@'10.4.1.163';
Bekijk hier de documenten over GRANT van MySQL - http://dev.mysql .com/doc/refman/5.7/en/grant.html
Even terzijde:pomp alsjeblieft geen oude gegevens in een query zonder op zijn minst mysql_real_escape_string
te gebruiken (http://php.net/manual/en/ function.mysql-real-escape-string.php
) op voorhand. Je zou ook kunnen kijken naar PDO (http://php. net/manual/en/book.pdo.php
) die over het algemeen de voorkeur heeft boven de nu verouderde mysql_
functies