Mysql
 sql >> база данни >  >> RDS >> Mysql

Потребителят няма достъп до база данни

localhost не съвпада с % в MySQL. Изглежда така трябва, но всъщност не е така. Ще трябва отделно да предоставите привилегии на [email protected] , и двете за USAGE привилегия и за привилегиите във всяка база данни.

Или можете да се свържете като [email protected] което прави съвпада с % . Използването на IP адреса за localhost изглежда, че трябва да работи идентично с localhost, но не е така. Трябва да имате два реда в mysql.user таблица (а също и в mysql.db таблица във вашия случай), за да активирате и двете.

За да демонстрирате разликата между localhost и 127.0.0.1:

Свързване като mysql -h localhost използва интерфейса на UNIX сокет и заобикаля TCP/IP. Това може да е малко по-добро за производителността, но има ефект върху съответствието на безвъзмездните средства, описано по-горе.

Можете да наложите локална TCP/IP връзка, като се свържете като mysql -h 127.0.0.1 . След това ще вземе предоставените от вас разрешения на [email protected]% .

Така че, за да получите един и същ потребител, парола и привилегии както за интерфейса на сокета, така и за TCP/IP интерфейса, ще трябва да стартирате all от следните твърдения:

GRANT USAGE ON *.* TO 'myuser'@'%' IDENTIFIED BY PASSWORD '*7733323232...'
GRANT USAGE ON *.* TO 'myuser'@'localhost' IDENTIFIED BY PASSWORD '*7733323232...'
GRANT ALL PRIVILEGES ON `db1`.* TO 'myuser'@'%'
GRANT ALL PRIVILEGES ON `db1`.* TO 'myuser'@'localhost'
GRANT ALL PRIVILEGES ON `db2`.* TO 'myuser'@'%'
GRANT ALL PRIVILEGES ON `db2`.* TO 'myuser'@'localhost'


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL показва цялата дата между диапазона

  2. Mysql има ли еквивалента на аналитичните функции на Oracle?

  3. Автоматично довършване на jQuery да работи с PHP източник

  4. Django група по дати и стойности SUM

  5. Дълга анкета в чат на Laravel:Защо div не се актуализира сам?