adres powiązania do 0.0.0.0
to tylko część kroków umożliwiających mu akceptowanie połączeń zdalnych. Te kroki obejmują jawne usunięcie rem'u za pomocą # skip-networking
[mysqld]
bind-address = 0.0.0.0
# skip-networking
I restart serwera.
Następnie potrzebujesz kombinacji użytkownika, hosta do logowania, a najlepiej GRANT
do bazy danych do użytku z odpowiednimi (nie nadmiernymi) prawami.
Możesz zobaczyć swoich obecnych użytkowników za pomocą select user,host from mysql.user
Zobacz stronę podręcznika MySQL na Składnia GRANT .
Napisałem małą odpowiedź Tutaj
o symbolu wieloznacznym %
host i inne drobne szczegóły.
Ilustracja do testu znajduje się poniżej:
create schema testDB007;
use testDB007;
create table t1
( id int not null
);
CREATE USER 'jeffrey123z'@'%' IDENTIFIED BY 'mypass123^';
-- note password is mypass123^
GRANT ALL ON testDB007.* TO 'jeffrey123z'@'%';
SHOW GRANTS FOR 'jeffrey123z'@'%';
Teraz niebieski wiersz powyżej (USAGE) oznacza prawie nic poza tym, że użytkownik może się zalogować i to wszystko. Drugi wiersz pokazuje PRIVILEGES
dla bazy danych z GRANT
cmd.
Wyświetl użytkownika w mysql.user
:
Odnośnie powyższego obrazu,
select user,host,password from mysql.user where user='jeffrey123z';
select user,host,authentication_string from mysql.user where user='jeffrey123z';
Pierwsze powyższe zapytanie dotyczy wersji wcześniejszej niż MySQL 5.7. Drugie zapytanie dotyczy wersji 5.7 i nowszych. Hasło jest zaszyfrowane. Host to symbol wieloznaczny %
co oznacza logowanie z dowolnego hosta.