Collegarsi a DB Mysql con programma esterno

di il
6 risposte

Collegarsi a DB Mysql con programma esterno

Buonasera a tutti,
ho installato sia PHP che MYSQL su una macchina virtuale Ubuntu Server 20.04. Ora io ero abituato ad usare PhpMyAdmin e con HeidiSQL ma ora non riesco più a connettermi.
Come posso fare?
Grazie

6 Risposte

  • Re: Collegarsi a DB Mysql con programma esterno

    Lo devi poter fare ESATTAMENTE come prima.

    MySQL si accede mediante IP (della macchina su cui e' installato) e PORTA (di default la 3306).

    SE MySQL e' funzionante E dall'interno della vm ci PUOI accedere, vuol dire che e' un problema di configurazione:

    1) MySQL DEVE ascoltare su TUTTI gli indirizzi di rete che la vm possiede (si usa 0.0.0.0), NON SOLO su 127.0.0.1/localhost, o almeno sullo stesso IP che usi dall'esterno

    2) bisogna che l'utente REMOTO possa accedere al database (si deve configurare opportunamente, "roor" funziona SOLO in locale)

    3) il firewall sul PC contenente MySQL, SE attivo, deve permettere la comunicazione in entrata verso MySQL.

    MA queste sono le cose BANALI !!

    Se e' gia' stato fatto/controllato tutto, allora e' un qualche altro problema tra i milioni di possibili.
    Senza essere sul posto e' impossibile capire cosa e' che non va.
  • Re: Collegarsi a DB Mysql con programma esterno

    migliorabile ha scritto:


    Lo devi poter fare ESATTAMENTE come prima.

    MySQL si accede mediante IP (della macchina su cui e' installato) e PORTA (di default la 3306).

    SE MySQL e' funzionante E dall'interno della vm ci PUOI accedere, vuol dire che e' un problema di configurazione:

    1) MySQL DEVE ascoltare su TUTTI gli indirizzi di rete che la vm possiede (si usa 0.0.0.0), NON SOLO su 127.0.0.1/localhost, o almeno sullo stesso IP che usi dall'esterno

    2) bisogna che l'utente REMOTO possa accedere al database (si deve configurare opportunamente, "roor" funziona SOLO in locale)

    3) il firewall sul PC contenente MySQL, SE attivo, deve permettere la comunicazione in entrata verso MySQL.

    MA queste sono le cose BANALI !!

    Se e' gia' stato fatto/controllato tutto, allora e' un qualche altro problema tra i milioni di possibili.
    Senza essere sul posto e' impossibile capire cosa e' che non va.
    Grazie per la risposta,
    ma in HeidiSQL come lo devo settare???
    Heidesql
    Heidesql

    Poi mi da ocme utente solo root Come devo fare??
  • Re: Collegarsi a DB Mysql con programma esterno

    Leggiti BENE come si configura un utente REMOTO.

    NON PUOI USARE "root"! "root" FUNZIONA SOLO IN LOCALE
    Dovra' essere qualcosa del tipo "root@<ip-client>"

    LEGGI BENE LA DOCUMENTAZIONE.
  • Re: Collegarsi a DB Mysql con programma esterno

    migliorabile ha scritto:


    Leggiti BENE come si configura un utente REMOTO.

    NON PUOI USARE "root"! "root" FUNZIONA SOLO IN LOCALE
    Dovra' essere qualcosa del tipo "root@<ip-client>"

    LEGGI BENE LA DOCUMENTAZIONE.
    Mi da sempre questo errore
  • Re: Collegarsi a DB Mysql con programma esterno

    migliorabile ha scritto:


    Leggiti BENE come si configura un utente REMOTO.

    NON PUOI USARE "root"! "root" FUNZIONA SOLO IN LOCALE
    Dovra' essere qualcosa del tipo "root@<ip-client>"

    LEGGI BENE LA DOCUMENTAZIONE.
    Allora ho creato un utente denominato cesco, così non devo usare ROOT, entrando sulla macchina virtuale in SSH e, dopo essere intrato in msysq, lanciato il comando

    CREATE USER 'cesco'@'localhost' IDENTIFIED BY 'cesco';

    ora trovo un altro utente oltre root nella tabella che vedo se lancio il comando "SELECT User,Host FROM mysql.user;"


    ho provato ad assegnargli una pwd con il comando "SET PASSWORD FOR 'cesco'@'localhost' = PASSWORD('miapwd123);"

    ma mi da il seguente errore

    ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'PASSWORD('MarcoLinuxMan1!')' at line 1

    Cosa sbaglio??

    PS:non mi fa connettere anche se come utente metto PHPMyadmin in hidesql.....
  • Re: Collegarsi a DB Mysql con programma esterno

    spider81man ha scritto:


    Allora ho creato un utente denominato cesco, così non devo usare ROOT, entrando sulla macchina virtuale in SSH e, dopo essere intrato in msysq, lanciato il comando

    CREATE USER 'cesco'@'localhost' IDENTIFIED BY 'cesco';

    ora trovo un altro utente oltre root nella tabella che vedo se lancio il comando "SELECT User,Host FROM mysql.user;"
    Hai creato un utente "cesco" che può connettersi solo da localhost (ossia, solo da dentro la macchina virtuale: dall'esterno non si può connettere).
    ho provato ad assegnargli una pwd con il comando "SET PASSWORD FOR 'cesco'@'localhost' = PASSWORD('miapwd123);"

    ma mi da il seguente errore

    ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'PASSWORD('MarcoLinuxMan1!')' at line 1

    Cosa sbaglio??
    Sbagli la sintassi.
    https://dev.mysql.com/doc/refman/8.0/en/set-password.html
    'auth_string' and 'current_auth_string' each represent a cleartext (unencrypted) password
    Quindi:
    
    SET PASSWORD FOR 'cesco'@'localhost' = 'miapwd123';
    
    Rimane, comunque, che quell'utente non si può connettere da fuori perchè hai specificato "localhost" come unico host da cui può connettersi.
Devi accedere o registrarti per scrivere nel forum
6 risposte