Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    Problema Grant e Remove

    Vi sottopongo un problema che mi sta assillando da una settimana, nonostante varie ricerche e documentazioni sul web!

    Sto creando un sistema gestionale che gira in locale.

    Ho installato EasyPHP.
    Tramite un applicativo php:
    - creo un nuovo database chiamato discoweb.
    - definisco un nuovo utente dwb per il db discoweb.
    - gli assegno tutti i permessi.
    - rimuovo i permessi all'utente root

    Nella logica sembra semplice, ma ottengo un errore. Ecco il codice:
    Codice PHP:
    $conn_temp mysql_connect('127.0.0.1','root','');
    $query "CREATE DATABASE IF NOT EXISTS discoweb CHARACTER SET utf8";
    mysql_query("$query",$conn_temp);

    //righe di creazione tabelle.... funzionanti!

    $query "GRANT ALL PRIVILEGES ON *.* TO dwb@localhost IDENTIFIED BY '$dbpass' WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0"// assegno tutti i privilegi a dwb su localhost
    mysql_query($query);
            
    $query "GRANT ALL PRIVILEGES ON *.* TO dwb@127.0.0.1 IDENTIFIED BY '$dbpass' WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0"// assegno tutti i privilegi a dwb su host 127.0.0.1
    mysql_query($query);

    $query "GRANT SELECT, INSERT, UPDATE, DELETE ON *.* TO''@'%' IDENTIFIED BY '$dbpass' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0"// assegno permessi limitati ai computer slave
    mysql_query($query);

    //FIN QUI TUTTO OK!

    $query "REVOKE GRANT OPTION ON discoweb.* FROM 'root'@'127.0.0.1'"// rimuovo permessi a utente root per il db discoweb
    mysql_query($query) or die ("Errore impostazione permessi. Contattare i fornitori del programma. (cod. 138). ".mysql_error());

    // OTTENGO ERRORE: grant non definita per l'utente!!!


    $query "REVOKE ALL PRIVILEGES ON discoweb.* FROM 'root'@'127.0.0.1'"// rimuovo permessi a utente root per il db discoweb
    mysql_query($query) or die ("Errore impostazione permessi. Contattare i fornitori del programma. (cod. 139)");

    $query "REVOKE GRANT OPTION ON discoweb.* FROM 'root'@'localhost'";
    mysql_query($query) or die ("Errore impostazione permessi. Contattare i fornitori del programma. (cod. 140)");

    $query "REVOKE ALL PRIVILEGES ON discoweb.* FROM 'root'@'localhost'";
    mysql_query($query) or die ("Errore impostazione permessi. Contattare i fornitori del programma. (cod. 141)"); 
    Quando eseguo l'applicativo mi fornisce appunto l'errore (cod.138) dicendomi che GRANT non è definita per quell'utente.

    Se rimuovo quella riga eseguendo la seconda istruzine, ottengo comunque l'errore cod.139

    Dove sbaglio?!!!
    Vi ringrazio in anticipo per il vostro aiuto!

  2. #2
    Mi rispondo da solo!

    Se nelle righe "incriminate" sostituisco discoweb.* con *.* tutto funziona correttamente.

    Ma non capisco perchè!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.