Utworzyłem użytkownika user@'%'
z password 'password
. Ale nie mogę się połączyć z:
mysql_connect('localhost:3306', 'user', 'password');
Kiedy stworzyłem użytkownika user@'localhost'
, mogłem się połączyć. Czemu? Czy „%” nie oznacza od ŻADNEGO hosta?
mysql
remote-access
user2333586
źródło
źródło
Odpowiedzi:
Aby połączyć się zdalnie, musisz powiązać port MySQL 3306 z adresem IP twojego komputera w my.cnf. Następnie musisz utworzyć użytkownika zarówno w localhost, jak i na symbolu wieloznacznym „%” i przyznać uprawnienia do wszystkich DB jako takich . Zobacz poniżej:
my.cnf (my.ini w systemie Windows)
następnie
Następnie
W zależności od systemu operacyjnego może być konieczne otwarcie portu 3306, aby umożliwić połączenia zdalne.
źródło
mysql.default_port = <private instance port>
w moim php.ini, a następnie użyłem127.0.0.1
przez cały czas mojej nazwy hosta dbPostępuj zgodnie z instrukcjami (kroki od 1 do 3 nie są potrzebne w systemie Windows):
Znajdź konfigurację mysql do edycji:
Znajdź
bind-address=127.0.0.1
w zmianie pliku konfiguracyjnegobind-address=0.0.0.0
(możesz ustawić adres wiązania na jeden z interfejsów ips lub tak jak ja użyj 0.0.0.0)Uruchom ponownie usługę mysql uruchomioną na konsoli:
service restart mysql
Utwórz użytkownika z bezpiecznym hasłem do zdalnego połączenia. Aby to zrobić, uruchom następujące polecenie w mysql (jeśli jesteś użytkownikiem Linuksa, aby uzyskać dostęp do konsoli mysql
mysql
i jeśli ustawiłeś hasło dla uruchomienia rootmysql -p
):Teraz powinieneś mieć użytkownika z nazwą
user
i hasłemsafe_password
z możliwością zdalnego połączenia.źródło
dla jakiej bazy danych jest użytkownik? spójrz na ten przykład
więc wracając do pytania, operator „%” oznacza wszystkie komputery w Twojej sieci.
jak pokazuje aspesa, jestem również pewien, że musisz utworzyć lub zaktualizować użytkownika. poszukaj wszystkich swoich użytkowników mysql:
jak tylko skonfigurujesz użytkownika, powinieneś być w stanie połączyć się w ten sposób:
mam nadzieję, że to pomoże
źródło
code
mysql_connect („localhost: 3306”, „użytkownik”, „hasło”);code