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:
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):
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):
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()); } }