sql >> Databáze >  >> Database Tools >> phpMyAdmin

přístup odepřen uživateli po přesunutí databáze MySQL na vzdálený server

Oprávnění MySQL jsou založena na adrese, ke které se připojují, stejně jako na uživateli. Takže [email protected] a [email protected] bude mít dvě samostatné sady oprávnění. Změna localhost na 127.0.0.1, jak je uvedeno num8er, bude pravděpodobně fungovat, pokud jsou váš kód a databáze na stejném serveru.

Pokud máte terminálový přístup ke schránce, kde je vaše php, můžete se zkusit připojit přímo a vyloučit cokoli společného s php pomocí tohoto:

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

Všimněte si, že mezi -p není mezera a heslo. Pokud uspějete, získáte seznam tabulek v database .

Chcete-li udělit přístup jiným uživatelům nebo pro jiný název hostitele/IP, budete chtít spustit něco v tomto smyslu:(ačkoli byste skutečně měli vytvořit samostatného uživatele s omezenějšími oprávněními na základě vašich požadavků).

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

Podívejte se na dokumenty o GRANT MySQL zde - http://dev.mysql .com/doc/refman/5.7/en/grant.html

Na okraj – prosím, prosím, nečerpejte do dotazu jen stará data, aniž byste alespoň použili mysql_real_escape_string (http://php.net/manual/en/ function.mysql-real-escape-string.php ) na to předem. Můžete se také podívat do PDO (http://php. net/manual/en/book.pdo.php ), který je obecně preferován před již zastaralým mysql_ funkce




  1. Vaše první dotazy v editoru SQL

  2. Odstranění tabulek z databáze pomocí PhpMyAdmin

  3. Chyba při zahazování databáze v MySQL (nelze rmdir '.\oro', errno:41)

  4. Jak mohu automatizovat export databáze mySQL pomocí phpMyAdmin