Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Utwórz użytkownika i bazę danych MySQL z PHP

Ta odpowiedź była kilkakrotnie edytowana na podstawie nowych informacji dostarczonych przez OP

Czy root jest faktycznie dozwolony? połączyć się z serwerem z hosta, z którego się łączysz? Jeśli ciąg błędu zwraca nazwę kanoniczną serwera, istnieje bardzo duża szansa, że ​​„localhost” nie wskazuje na 127.0.0.1 :

Powinno to brzmieć jak „Odmowa dostępu dla użytkownika 'root'@localhost'”, a nie nazwa serwera.

Wypróbuj:

$con = mysql_connect("127.0.0.1","root","pass");

Edytuj (Po więcej informacji podanych w komentarzach)

Jeśli łączysz się z zupełnie innego hosta, musisz poinformować MySQL [email protected]_hostname_or_ip może się łączyć i ma odpowiednie uprawnienia do tworzenia bazy danych i użytkowników.

Możesz to zrobić dość łatwo za pomocą phpmyadmina (na serwerze MySQL) lub zapytania takiego jak:

CREATE USER 'root'@'192.168.1.1' IDENTIFIED BY PASSWORD 'secret';

GRANT ALL PRIVILEGES ON * . * TO  'root'@'192.168.1.1' IDENTIFIED BY PASSWORD 'secret' WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;

Radziłbym nie nazywać tego użytkownika „root”, po prostu utwórz użytkownika ze wszystkimi potrzebnymi globalnymi uprawnieniami. W przykładzie użyłem 192.168.1.1, który może być nazwą hosta, po prostu upewnij się, że DNS jest odpowiednio skonfigurowany. Określ hosta do dopasowania dokładnie tak jak pojawia się w logach, gdy łączysz się ze zdalnym serwerem.

Możesz także dostosować limity do smaku. Więcej informacji na temat CREATE USER składnię można znaleźć tutaj , GRANT tutaj .

Edytuj

Jeśli używasz MySQL 4 - CREATE nie jest opcją. Wystarczy użyć GRANT (4.1 Dokumenty dotyczące zarządzania użytkownikami )

Edytuj

Jeśli używasz C-Panel, po prostu użyj API . Chociaż tak, ma swoje dziwactwa, łatwiej jest utrzymywać rzeczy, które go używają, niż obejść się doraźnie. Wiele aplikacji, które odniosły sukces, używa go bez problemu. Jak każdy inny interfejs API, podczas korzystania z niego musisz być na bieżąco ze zmianami.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wypisz za pomocą PHP wartość zmiennej lub predefiniowaną STAŁY z ciągu wynikowego MySQL

  2. Jak wyłączyć logowanie root do MySQL, gdy nie podano hasła?

  3. Dowolna komenda w mysql równoważna autotrace Oracle do toczenia wydajności

  4. Jak wysłać e-mail z MySQL 5.1?

  5. Obsługa MySQL dla Pythona, który nie jest objęty licencjami podobnymi do GPL