Hensikt
Denne artikkelen vil beskrive hvordan en kan bruke IDIs MySQLserver mysql.idi.ntnu.no og hva den kan brukes til.
MySQL på IDI
IDI har en MySQL-server på mysql.idi.ntnu.no. Denne er ikke åpen for å sette opp villkårlige databaser på impuls, og er ment for fag og prosjekter som kjøres på instituttet.
For skoleprosjekter, f.eks i TDT4145, finnes det egnet servere til dette som du finner guide på her. Den bruker login.stud.ntnu.no.
Hvordan få tilgang til serveren
Bruk SSH til å logge på slik: brukernavn@login.stud.ntnu.no
Hvordan koble til med kommandlinjeverktøy
SSH til login.idi.ntnu.no og kjør programmet mysql. Eksempel:
Code Block |
---|
furu$ mysql -h mysql.idi.ntnu.no -u brukernavn -p[pw] |
Hvordan koble til webgrensesnitt
På http://phpmyadmin.idi.ntnu.no/ finnes det et grensesnitt for manipulering av databaser.
Programmeringstilgang
For å kunne koble til MySQL-databaser trengs et driverbiliotek. På http://dev.mysql.com/downloads/ kan du finne dette for bl.a. Java og .NET ved å bla nedover til
"Drivers and Connectors".
Tilkoblingsurlen til MySQL ser slik ut: "jdbc:mysql://vert:port/databasenavn".
Enkelt Javaeksempel (utelater Exceptions og kodekonvensjoner):
Code Block |
---|
Class.forName("com.mysql.jdbc.Driver").newInstance();
String url = "jdbc:mysql://mysql.idi.ntnu.no/mindatabase";
String user = "brukernavn";
String pw = "passord";
Connection con = DriverManager.getConnection(url,user,pw); |
Mer omstendelig Javaeksempel (tar med Exception-håndtering og debugmeldinger):
Code Block |
---|
Connection con = null;
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
String url = "jdbc:mysql://mysql.idi.ntnu.no/mindatabase";
String user = "brukernavn";
String pw = "passord";
Connection con = DriverManager.getConnection(url,user,pw);
System.out.println("Tilkoblingen fungerte.");
} catch (SQLException ex) {
System.out.println("Tilkobling feilet: "+ex.getMessage());
) catch (ClassNotFoundException ex) {
System.out.println("Feilet under driverlasting: "+ex.getMessage());
} finally {
try {
if (con != null) con.close();
} catch (SQLException ex) {
System.out.println("Epic fail: "+ex.getMessage());
}
} |
...