Mysql
 sql >> Database >  >> RDS >> Mysql

MYSql config bind-address impostato su 0.0.0.0 ma netstat mostra diverso su Ubuntu

l'indirizzo di collegamento a 0.0.0.0 è solo una parte dei passaggi per consentirgli di accettare connessioni remote. Questi passaggi includono la rimozione esplicita con # skip-networking

[mysqld]
bind-address    = 0.0.0.0
# skip-networking

E un riavvio del server.

È quindi necessario un utente, una combinazione host per l'accesso e idealmente un GRANT ad un db da utilizzare con diritti adeguati (non eccessivi).

Puoi vedere i tuoi utenti attuali con select user,host from mysql.user

Consulta la pagina del manuale MySQL su Sintassi GRANT .

Ho scritto una piccola risposta Qui sul carattere jolly % host e altri dettagli minori.

Di seguito un'illustrazione per un test:

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'@'%';

Ora, la riga blu sopra (USAGE) significa quasi nient'altro che l'utente può accedere e basta. La seconda riga mostra i PRIVILEGES per il db dal GRANT cmd.

Visualizza utente in mysql.user :

Per quanto riguarda l'immagine sopra,

select user,host,password from mysql.user where user='jeffrey123z';

select user,host,authentication_string from mysql.user where user='jeffrey123z';

La prima query sopra è per prima di MySQL 5.7. La seconda query è per 5.7 e successivi. La password è con hash. L'host è il carattere jolly % significa accedere da qualsiasi host.