Come sottolineato da Ryan sopra, il comando di cui hai bisogno è
GRANT ALL ON *.* to [email protected]'%' IDENTIFIED BY 'password';
Tuttavia, tieni presente che la documentazione indica che, affinché ciò funzioni, un altro account utente da localhost
deve essere creato per lo stesso utente; in caso contrario, l'account anonimo creato automaticamente da mysql_install_db
ha la precedenza perché ha una colonna host più specifica.
In altre parole; in ordine per l'utente user
potersi connettere da qualsiasi server; È necessario creare 2 account come segue:
GRANT ALL ON *.* to [email protected] IDENTIFIED BY 'password';
GRANT ALL ON *.* to [email protected]'%' IDENTIFIED BY 'password';
Leggi la documentazione completa qui.
Ed ecco il pezzo rilevante per riferimento:
Dopo esserti connesso al server come root, puoi aggiungere nuovi account. I seguenti estratti conto utilizzano GRANT per creare quattro nuovi account:
mysql> CREATE USER 'monty'@'localhost' IDENTIFIED BY 'some_pass';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'localhost'
-> WITH GRANT OPTION;
mysql> CREATE USER 'monty'@'%' IDENTIFIED BY 'some_pass';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'%'
-> WITH GRANT OPTION;
mysql> CREATE USER 'admin'@'localhost';
mysql> GRANT RELOAD,PROCESS ON *.* TO 'admin'@'localhost';
mysql> CREATE USER 'dummy'@'localhost';
I conti creati da questi estratti conto hanno le seguenti proprietà:
Due degli account hanno un nome utente di monty e una password disome_pass. Entrambi gli account sono account di superutente con privilegi completi per fare qualsiasi cosa. L'account 'monty'@'localhost' può essere utilizzato solo quando ci si connette dall'host locale. L'account 'monty'@'%' utilizza il carattere jolly '%' per la parte host, quindi può essere utilizzato per connettersi da qualsiasi host.
È necessario disporre di entrambi gli account per monty per potersi connettere da qualsiasi luogo come monty . Senza l'account localhost, l'account utente anonimo per localhost creato damysql_install_db avrebbe la precedenza quando monty si connette dall'host locale. Di conseguenza, monty verrebbe trattato come un utente anonimo. Il motivo è che l'account utente anonimo ha un valore della colonna Host più specifico rispetto all'account 'monty'@'%' e quindi viene prima nell'ordinamento della tabella utente. (l'ordinamento delle tabelle utente è discusso nella Sezione 6.2.4, «Controllo degli accessi, fase 1:verifica della connessione».)