Installare MySQL e aprirne l'accesso remoto
Updated at: 02/02/2018


apt-get install mysql-server
Aprire connessione a Mysql dall'esterno:
commentare la riga "bind-address = 127.0.0.1" nel file /etc/mysql/my.cnf
/etc/init.d/mysql restart
A questo punto dobbiamo dare i permessi corretti all'utente root se vogliamo gestire il server remoto. Tra le due opzioni, la 1 dovrebbe essere quella che funziona meglio... 1)
mysql -u root -p
use mysql;
update user set host='%' where host='localhost' AND User='root';
FLUSH PRIVILEGES;
2)
mysql -u root -p
GRANT ALL ON *.* TO root@'%' IDENTIFIED BY 'MyPASSWORD';
FLUSH PRIVILEGES;
  Per l'installazione su Beaglebone: http://www.element14.com/community/community/designcenter/single-board-computers/next-gen_beaglebone/blog/2013/11/23/beaglebone-web-server--mysql-installation


ATTENZIONE

Nelle nuove versioni di MariaDB (e probabilmente anche MySQL) l'utente root di default usa l'autenticazione tramite "auth_socket" (il che vuol dire che anche se si configura la pw e si abilita l'accesso remoto, non si può accedere usando la pw) quindi si ottiene il seguente errore cercando di accedere tramite user e pw:

ERROR 1698 (28000): Access denied for user 'root'@....

Per usare l'autenticazione classica, in ssh sul server eseguire:

sudo mysql -uroot

mysql> UPDATE mysql.user SET plugin='mysql_native_password' WHERE User='root';
mysql> FLUSH PRIVILEGES;
mysql> exit;

sudo service mysql restart


Fonte: https://stackoverflow.com/a/42742610