remoto - Come consentire la connessione remota a mysql
porta mysql aruba (8)
Ho installato MySQL Community Edition 5.5 sul mio computer locale e voglio consentire le connessioni remote in modo che possa connettermi da una fonte esterna.
Come lo posso fare?
Dopo aver fatto tutto quanto sopra, non riuscivo ancora ad accedere come root
remoto, ma Telnetting alla porta 3306
confermava che MySQL
stava accettando le connessioni.
Ho iniziato a guardare gli utenti in MySQL e ho notato che c'erano più utenti root con password diverse.
select user, host, password from mysql.user;
Quindi in MySQL
ho impostato nuovamente tutte le password per root e ho potuto finalmente accedere da remoto come root
.
use mysql;
update user set password=PASSWORD("NEWPASSWORD") where User='root';
flush privileges;
E per OS X le persone là fuori si rendono conto che il parametro bind-address è tipicamente impostato in launchd plist e non nel file my.ini. Quindi nel mio caso ho rimosso <string>--bind-address=127.0.0.1</string>
da /Library/LaunchDaemons/homebrew.mxcl.mariadb.plist
.
Per chi ne ha bisogno, verificare che anche la porta del firewall 3306 sia aperta, se il servizio firewall è in esecuzione.
Questo è permesso di default su MySQL.
Ciò che è disabilitato per impostazione predefinita è l'accesso root
remoto. Se si desidera abilitarlo, eseguire localmente questo comando SQL:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
FLUSH PRIVILEGES;
E poi trova la seguente riga e commentala nel tuo file my.cnf
, che normalmente risiede su /etc/mysql/my.cnf
su sistemi Unix / OSX. In alcuni casi la posizione del file è /etc/mysql/mysql.conf.d/mysqld.cnf).
Se si tratta di un sistema Windows, è possibile trovarlo nella directory di installazione di MySQL, in genere qualcosa come C:\Program Files\MySQL\MySQL Server 5.5\
e il nome file sarà my.ini
.
Cambia linea
bind-address = 127.0.0.1
a
#bind-address = 127.0.0.1
E riavvia il server MySQL ( Unix/OSX e Windows ) affinché le modifiche abbiano effetto.
Se hai installato MySQL da brew
, in realtà è solo in ascolto sull'interfaccia locale per impostazione predefinita. Per risolvere il problema è necessario modificare /usr/local/etc/my.cnf
e modificare l' bind-address
da 127.0.0.1
a *
.
Quindi eseguire i brew services restart mysql
.
Se il processo del server MySQL è in ascolto solo su 127.0.0.1 o :: 1, non sarà possibile connettersi da remoto. Se si dispone di un'impostazione bind-address
in /etc/my.cnf
questa potrebbe essere la fonte del problema.
Dovrai anche aggiungere privilegi per un utente non localhost
.
Solo FYI Ho tirato fuori i miei capelli con questo problema per ore .. finalmente chiamo il mio hosting provider e ho scoperto che nel mio caso usando un server cloud che nel pannello di controllo per 1and1 hanno un firewall secondario che devi clonare e aggiungere porta 3306. Una volta aggiunto, sono entrato dritto ...
Solo una nota dalla mia esperienza, è possibile trovare il file di configurazione sotto questo percorso /etc/mysql/mysql.conf.d/mysqld.cnf
.
(Faccio fatica per qualche tempo a trovare questo percorso)