Abilitare accesso remoto MySql su Ubuntu server

Ecco come fare!

Per abilitare l’accesso remoto su un Ubuntu Server versione 12, 14, 16, 18 o 20 per il servizio MySql procedere in questo modo:

Versione 12,14 e 16

  • Edito il file my.cnf che si trova nella cartella /etc o /etc/mysql e modifico l’ip da
    bind-address 127.0.0.1

    a

    bind-address x.x.x.x

    in modo da permettere gli accessi da remoto ( l’ip x.x.x.x è quello del mio Ubuntu Server. Esempio 192.168.1.10 )

  • Accedo alla consolle di MySql con il comando
    mysql -u root -p mysql
  • Abilito l’accesso con il comando
    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password_root_mysql';
  • Salvo il tutto con il comando
    flush privileges;

    ed esco con

    exit
  • Riavvio il servizio MySql con il comando
    service mysql restart
  • Versione 18 e 20

  • Edito il file in /etc/mysql/mysql.conf.d/mysqld.cnf e modifico l’ip da
    bind-address = 127.0.0.1
    

    a

    bind-address = x.x.x.x

    in modo da permettere gli accessi da remoto ( l’ip x.x.x.x è quello del mio Ubuntu Server. Esempio 192.168.1.10

  • Accedo alla consolle di MySql con il comando
    mysql -u root -p mysql
  • Creo un nuovo utente
    CREATE USER 'nomeutente'@'%' IDENTIFIED BY 'password';
  • Abilito l’accesso con il comando
    GRANT ALL PRIVILEGES ON *.* TO 'nomeutente'@'%' WITH GRANT OPTION;
  • Salvo il tutto con il comando
    flush privileges;

    ed esco con

    exit
  • Riavvio il servizio MySql con il comando
    systemctl restart mysql

Ora l’accesso da remoto MySQL Su nostro Ubuntu Server è attivato!

Nel caso di errore Authentication plugin ‘caching_sha2_password’ cannot be loaded eseguite anche questo comando nella consolle di mysql

ALTER USER 'nomeutente'@'%' IDENTIFIED WITH mysql_native_password BY 'password';

Good job!