...
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
Send en mail til guru@idiBruk SSH til å logge på slik: brukernavn@login.stud.ntnu.no med ønsket brukernavn, databasenavn og ikke minst: begrunnelse.
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()); } } |