Java: mySQL brugere
Jeg er ved at udvikle et system som kører på en mySQL-database. Jeg har derfor brug for, at der kan oprettes brugere i mySQL-databasen så andre bruger end root kan logge på - vil naturligvis være langt mere praktisk og sikkert, at hver bruger logger på databasen med sit egen username og password istedet for at alle bruger root.Jeg starter med at logge ind med min root-bruger på denne måde:
connection = DriverManager.getConnection("jdbc:mysql://"+myServer+"/myDB", root, myPassword);
Derefter kan jeg f.eks. oprette en bruger jeg kalder "dm" som har adgang til den pågældende database:
Statement statement = connection.createStatement();
int rowsinserted = statement.executeUpdate(INSERT INTO user (Host,User,Password) VALUES('%','dm','myPassword'););
1) Ved at angive at host=%, har jeg sikret at brugeren både kan logge på via localhost (altså samme maskine som databasen kører på) samt via andre maskiner som tilslutter via IP'en, ik?
2) Hvordan sikrer jeg videre, at den bruger jeg opretter, kun har adgang til den pågældende database (myDB) og ikke alle lige som root?
Mit næste, og noget større problem er, hvordan jeg efterfølgende, i mit program har mulighed for at finde ud af hvilke mySQL-bruger der har adgang til databasen (skal lave et system som lister brugerne, så man kan slette dem, ændre password mm.)
Jeg går ud fra, at jeg skal bruge et ResultSet:
Statement statement = connection.createStatement();
ResultSet res = statement.executeQuery("");
3) hvordan kan jeg lave en query, som returnerer de brugere som har adgang til databasen "myDB"?
