Avatar billede tax Nybegynder
18. april 2002 - 10:40 Der er 14 kommentarer og
1 løsning

Brugerdatabase

Jeg har sat en MySQL server op på en redhat 7.2 og skal til at lave en webapplikation.

Jeg er interesseret i at køre flere ting parallelt på maskinen, så derfor er jeg intresseret i at oprette en database som kun den enkelte bruger har adgang til. (og root selvfølgelig)

Hvordan gøres det?

P.S.
Jeg har givet root et password og kørt scriptet "mysql_install_db".

Avatar billede a1a1 Novice
18. april 2002 - 10:42 #1
når du opretter en bruger skal du vælge hvilke(n) database denne har adgang til...(og rettigheder)
Avatar billede a1a1 Novice
18. april 2002 - 10:43 #2
så det "går" helt af sig selv :)
Avatar billede poull Nybegynder
18. april 2002 - 10:43 #3
du mener at du vil lave forskellige profiler til mysql databasen som skal have forskellige adgangsprivilegier?
Avatar billede poull Nybegynder
18. april 2002 - 10:44 #4
jeg har lavet en php side hvor igennem man kunne oprette brugere, og den kan sikekrt også bruges af dig med ganske få ændringer hvis det er noget du er interesseret i?
Avatar billede tax Nybegynder
18. april 2002 - 10:45 #5
Jeg har blot en database, jeg vil isolere fra de andre brugere. (undtagen root)

Hvor kan jeg finde en guide til at definere disse rettigheder. Jeg synes MySQL dokumentationen er meget uoverskuelig og svær at få noget ud af.
Avatar billede poull Nybegynder
18. april 2002 - 10:47 #6
min side kan netop sætte disse rettigheder, interesseret eller siger php dig ikke noget. :)
Avatar billede tax Nybegynder
18. april 2002 - 10:49 #7
PHP siger mig en hel masse, men jeg må indrømme at jeg ikke er helt vant i sproget.

Jeg har installeret phpmyadmin scriptet.. Burde det ikke kunne det samme?
Avatar billede poull Nybegynder
18. april 2002 - 10:51 #8
jo det kan det da, så det kan du også bruge
der går du bare ind under usres på forsiden og så giver det næsten sig selv. ?
Avatar billede tax Nybegynder
18. april 2002 - 10:52 #9
Jeg prøver.. Tak for hjælpen?  -gi lige et svar så får du en daler :)
Avatar billede poull Nybegynder
18. april 2002 - 11:04 #10
fair nok :)
Avatar billede tax Nybegynder
18. april 2002 - 11:18 #11
I phpmyadmin står der at man skal "huske at genindlæse serveren" i toppen af administratorsiderne.

Er det bare at genstarte mysql?
Avatar billede poull Nybegynder
18. april 2002 - 11:21 #12
nej, der er et link på forsiden (igen) i phpmyadmin hvor man kan genstarte den
Avatar billede poull Nybegynder
18. april 2002 - 11:22 #13
er ikke sikker på om den reelt bliver helt genstartet når man klikker der, men det virker i hvert fald når man har klikket der.
Avatar billede poull Nybegynder
18. april 2002 - 11:27 #14
<?

        $privilegier[] = "";
        if ($Select_priv)        $privilegier[]    = "Select";
        if ($Insert_priv)        $privilegier[]    = "Insert";
        if ($Update_priv)        $privilegier[]    = "Update";
        if ($Delete_priv)        $privilegier[]    = "Delete";
        if ($Create_priv)        $privilegier[]    = "Create";
        if ($Drop_priv)            $privilegier[]    = "Drop";
        if ($Reload_priv)        $privilegier[]    = "Reload";
        if ($Shutdown_priv)        $privilegier[]    = "Shutdown";
        if ($Process_priv)        $privilegier[]    = "Process";
        if ($File_priv)            $privilegier[]    = "File";
        if ($Grant_priv)        $privilegier[]    = "Grant";
        if ($References_priv)    $privilegier[]    = "References";
        if ($Index_priv)        $privilegier[]    = "Index";
        if ($Alter_priv)        $privilegier[]    = "Alter";
        $tekst_privilegier = strchr(implode(", ", $privilegier), " ");
       
        if ($brugernavn && $password) {
            echo "Forsøg på oprettelse af brugeren: $brugernavn<BR><BR>";

            mysql_connect($mySQL_server, $mySQL_bruger, $mySQL_password) or die ("Der kan ikke oprettes forbindelse til databasen!");

            // Oprettelse af databasen
            if (mysql_create_db($brugernavn)) {
                echo "Databasen " . $brugernavn . " blev oprettet<BR>";
            } else {
                echo "Databasen " . $brugernavn . " blev <U>ikke</U> oprettet<BR>";
            }
               
            // Oprettelse af en bruger i mySQLs system
            if (mysql_query("INSERT INTO mysql.user SET host = '%', user = '$brugernavn', password = PASSWORD('$password'), Select_priv = 'N', Insert_priv = 'N', Update_priv = 'N', Delete_priv = 'N', Create_priv = 'N', Drop_priv = 'N', Reload_priv = 'N', Shutdown_priv = 'N', Process_priv = 'N', File_priv = 'N', Grant_priv = 'N', References_priv = 'N', Index_priv = 'N', Alter_priv = 'N'")) {
                echo "Brugeren $brugernavn blev oprettet i mySQL som bruger<BR>";
                mysql_query('FLUSH PRIVILEGES');
            } else {
                echo "$Brugeren $brugernavn blev <U>ikke</U> oprettet i mySQL som bruger<BR>";
            }

           
            //Begrænsning af adgang til den oprettede database
            if (mysql_query("GRANT $tekst_privilegier ON `$brugernavn`.* TO '$brugernavn'@'%'")) {
                echo "Adgangen for brugeren til databasen blev oprettet<BR>";
                mysql_query('FLUSH PRIVILEGES');
            } else {
                echo "Adgangen for brugeren til databasen blev <U>ikke</U> oprettet<BR>";
            }


        }
    ?>
Avatar billede poull Nybegynder
18. april 2002 - 11:28 #15
lidt kode taget ud fra min side :) hvis du kan bruge det
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester