MySQL. Historikk. Nedlasting og installasjon



Like dokumenter
Innstallasjon og oppsett av Wordpress

Kjøre Wordpress på OSX

Ulike DBMSer. Mest kjente: Oracle PostGreSQL* MySQL* SQLServer* DB2 SQLite Access (DBMS og utv. verktøy i ett) *Skal benyttes i kurset.

som blanker skjermen (clear screen). Du får en oversikt over alle kommandoene ved å skrive,

MySQL-database, php. Innhold. 8 MySQL-database, php. 8.1 Databasen MySQL

Tilkobling og Triggere

Småteknisk Cantor Controller installasjon

Applikasjonsutvikling med databaser

Opus Dental 7.1 Oppdateringsveiledning

Installasjonsveiledning PowerOffice SQL

Databaser kort intro. Tom Heine Nätt

Brukerveiledning for Intelligent Converters MySQL Migration Toolkit IKA Trøndelag IKS 2012

Metaspråket for å beskrive grammatikk

1. SQL datadefinisjon og manipulering

Opus Dental 7.1 Oppdateingsveiledning

Din verktøykasse for anbud og prosjekt

Flytte Lønn 5.0 fra SQL 2000 til SQL 2005 / 2008

Sikkerhet og tilgangskontroll i RDBMS-er

Mamut Business Software

Datamodellering og databaser SQL, del 2

Brukerveiledning For Installasjon Av PCKasse. v1.01

Enbruker-installasjon

Installasjonsveiledning for Ordnett Pluss

Prosedyrer. Lars Vidar Magnusson. October 26, Lars Vidar Magnusson () Forelesning i DAS October 26, / 19

VMware Horizon View Client. Brukerveiledning for nedlasting, installasjon og pålogging for fjerntilgang

VEILEDER YTE FJERNHJELP

>>12 Arbeide med MySQL

Folkehøgskolens Informasjonssystem NAVI, HISTORIKK. Historikk

6107 Operativsystemer og nettverk

DIGITAL SKOLEEKSAMEN FOR STUDENTER VED POLITIHØGSKOLEN

Dokumentasjon av Installasjon

VEILEDER GI FJERNHJELP

Installasjonsveiledning Visma Avendo, versjon 5.2

Tekniske Krav Aditro Lønn

DIGITAL SKOLEEKSAMEN FOR STUDENTER VED POLITIHØGSKOLEN

Flytte System 4 fra SQL 2000 til SQL 2005 / 2008

Eksamen i Internetteknologi Fagkode: IVA1379

Brukermanual for Quizbuilder

Hvordan koble seg opp mot prosjekt i SAFE fra Mac OS X?

INSTALLASJONSVEILEDNING FOR KALK2010 KALKULASJONSPROGRAM

PowerOffice Mobile Server

For kunder som kjører Huldt & Lillevik Reise 1.3 på Access database

Huldt & Lillevik Lønn 5.0. Oppdatere til ny versjon

Å lage Noark 4 uttrekk selv. Thomas Sødring thomas.sodring@jbi.hio.no /

Utvikling av dynamiske nettsteder med PHP og databaser, høsten 2006

EKSAMEN 6102 / 6102N DATABASER

TMA4100 Matematikk 1, høst 2013

1. Innføring i bruk av MySQL Query Browser

Om verktøyet. Installering av MySQL Migration Toolkit. Installer toolkitet. Brukerveiledning til Intelligent Converters MySQL Migration Toolkit

PowerOffice Server Service

Virus på Mac? JA! Det finnes. Denne guiden forteller deg hva som er problemet med virus på Mac hva du kan gjøre for å unngå å bli infisert selv

4.1. Kravspesifikasjon

EKSAMEN DATABASER

Oppsett av PC mot Linksys trådløsruter

InfoRed Publisering. - produktbeskrivelse. TalkPool WebServices Postboks Åneby

Veiledning for oppdatering av Extensor 05 - versjon 1.16.

Kapittel 11. Databasesikkerhet

ARCHICAD Installering av BIM-server 19

Huldt & Lillevik Lønn 5.0 Oppsett av OPG-integrasjon med Visma.net.

Høgskolen i Telemark EKSAMEN 6102 DATABASER Tid: Hjelpemidler: Vedlegg: Eksempeldata til oppgave 1

Brukerveiledning for Admin i FEBDOK versjon 6.0

JSP - 2. Fra sist. Hvordan fungerer web? Tjenerside script HTML. Installasjon av Web-tjener Et enkelt JSP-script. Ønsker dynamiske nettsider:

Huldt & Lillevik Lønn og Personal - System 4. Oppdatering. Personec AS. Veiledningen er oppdatert pr

Installere JBuilder Foundation i Mandrake Linux 10.0

Bruk av kildeavskrifter som er merket med grønn kule

Pålogging til Porten og Portalen. Stavanger bispedømme

Datamodellering og databaser SQL, del 2

Utvikling fra kjernen og ut

6105 Windows Server og datanett

Febdok Server må være installert på den datamaskinen du sitter på. Last ned siste versjon fra Febdok sin hjemmeside eller gjennom programmet.

Virus på Mac? JA! Det finnes. Denne guiden forteller deg hva som er problemet med virus på Mac hva du kan gjøre for å unngå å bli infisert selv

Installasjonsveiledning for Ordnett Pluss

F-Secure Mobile Security for S60

Aditro AS. Produktnotat Huldt & Lillevik Ansattportal Ansattportal. Versjon (286) Copyright 2014 Aditro Side 1

P L A N I A 8 S Y S T E M K R A V PLANIA 8 SYSTEM KRAV. Plania 8 Systemkrav.docx av 8

Datamodellering og databaser SQL, del 2

- Java kan lastes ned gratis For installasjon, se punktet Hvordan laster jeg ned og installerer Java på min maskin?.

Installasjonsveiledning for Ordnett Pluss

Installasjonsveiledning

Brukerveiledning for ArkN4

Læringsmål og pensum. v=nkiu9yen5nc

Huldt & Lillevik Lønn 5.0

Installasjonsveiledning

Kom i gang med VPN inn til skolens filserver. Innhold

Installere JBuilder Foundation i Windows XP

Installasjonsveiledning Oppgradering av tidligere versjon

Installasjonsveiledning Visma Avendo Lønn, versjon 7.60 Oktober 2011

Installasjonsveiledning

Hva har vi gjort? SQL og Databasedesign

Hvordan setteopp en wordpress site med wampserver. Lokal site på din pc.

Installasjonsveiledning Oppgradering av tidligere versjon

Hvordan installere Java og easyio på Windows

Brukerveiledning Privatisering av datamaskinen For avgangselever våren 2017

Manual for å oppgrade TS 1000 fra:

Lab 1: Installasjon av Virtualiseringsløsning (VMWare Server ESXi 6.5) med en Virtuell Linux maskin (Cent OS 7 64-bit)

Visma Reconciliation NYHETER OG FORBEDRINGER

Oppdatering av Extensor 05

Transkript:

1 MySQL MySQL kan lastes ned gratis fra Internett (dev.mysql.com/doc). Vi forklarer hvordan man laster ned og installerer verktøyet, og også hvordan man kommer i gang med å lage databaser i MySQL. Historikk Første versjon av MySQL kom i 1995, og ble lenge eid og utviklet av svenske MySQL AB. «My» i MySQL er navnet på datteren til hovedarkitekt Michael «Monty» Widenius. Versjon 5.5 er siste stabile versjon pr. februar 2012, og er den versjonen som eksempelkoden er testet mot. MySQL har lenge vært fri programvare med åpen kildekode som man kan laste ned gratis. I 2008 ble MySQL kjøpt opp av Sun, som i sin tur ble kjøpt opp av Oracle i 2010. Oracle fikk dermed kontroll med både MySQL og Java, og tilbyr nå MySQL både som fri programvare og i kommersielle løsninger som inkluderer brukerstøtte (support). MySQL er blant de mest brukte databasesystemene. Tradisjonelt har MySQL blitt brukt som databasemotor bak web-løsninger, typisk utviklet i PHP, men er i dag et fullverdig og generelt DBHS. Alle installasjoner av MySQL inkluderer kommandolinjeverktøyet mysql (eller mysql-konsollet). Her kan man jobbe interaktivt med databasen ved å skrive SQL-kommandoer. Det finnes en rekke tilleggsverktøy, og de fleste kan lastes ned gratis. MySQL Workbench er et «komplett» verktøy for design, administrasjon og utvikling av databaser, mens phpmyadmin er et web-basert administratorverktøy, der man også kan skrive SQL-spørringer. Nedlasting og installasjon MySQL kan lastes ned fra dev.mysql.com. Her ligger referansemanualen som blant annet inneholder detaljerte prosedyrer for nedlasting og installasjon på ulike maskiner. For vår bruk er gratis-versjonen av MySQL tilstrekkelig, og man kan følge en helt «rett fram» oppskrift. Første steg er å få tak i riktig versjon, som innebærer å ta stilling til fire hovedspørsmål. Operativsystem: De fleste vil her velge Linux, Windows eller Mac. Versjon: Velg siste stabile «community server» (gratis-versjonen). Format: Velg en ferdigkompilert løsning (binærformat). Installasjonsprogram/arkiv: Velg installasjonsprogram hvis tilgjengelig.

2 MySQL blir hele tiden videreutviklet, og det kommer stadig nye versjoner (release). De forskjellige versjonene blir nummerert, og dessuten klassifisert etter hvor godt testet de er. Pr. februar 2012 var versjon 5.5.21 siste stabile versjon, gjerne omtalt som GA (General Availability). Det betyr at denne versjonen er ferdig testet og klar for kommersiell bruk. Det er imidlertid mulig å få tak i både tidligere og nyere versjoner. Det kan være aktuelt å velge en eldre versjon hvis man er avhengig å bruke MySQL sammen med annen programvare, som kanskje ikke er kompatibel med siste versjon. Motsatt, så kan man velge en såkalt beta-versjon, som ennå ikke er ferdig testet. Dette er aktuelt hvis man vil prøve ut ny funksjonalitet. Pr. februar 2012 var versjon 6.0 ute i beta-versjon. Aller siste versjon av MySQL blir lagt ut hver natt. MySQL er som nevnt basert på åpen kildekode. Man kan altså laste ned kildekoden og i prinsippet lage sin egen variant av systemet. Da må man selv kompilere (bygge) koden. For det store flertallet av oss er ikke det aktuelt. For ferdigkompilerte løsninger må man nødvendigvis velge en varient som er tilpasset maskin og operativsystem, blant annet om man har en 32 eller 64 biters maskin. MySQL er for øvrig programmert i C og C++. Et installasjonsprogram laster ned nødvendige programvarekomponenter og leder oss gjennom installasjonsprosessen. MySQL Installer er en slik løsning for Windows, som automatiserer det aller meste av jobben, og som samtidig gir mulighet for installasjon av MySQL Workbench og andre verktøy. Alternativet er å laste ned en arkivfil (zip eller tar), som må pakkes ut. Deretter må man gjennom et par manuelle steg, nærmere beskrevet i MySQL-dokumentasjonen. Ved bruk av et installasjonsprogram må man besvare noen spørsmål. Stort sett kan man gå for standardvalgene. På Windows betyr dette at man får en såkalt «utviklerinstallasjon», som tillater pålogging fra andre maskiner over port 3306, og at MySQL blir startet som en Windows-tjeneste. Hvis man ikke vil tillate pålogging fra andre maskiner kan portnummeret slettes. Man får mulighet for å velge et passord for administratorbrukeren root. Dette bør man gjøre, og samtidig ta vare på passordet et sikkert sted. Selv om man kanskje bare vil bruke MySQL for egen læring, får man en irriterende ekstrajobb hvis man mister passordet til root. Alle installasjonsfilene for MySQL er merket med en såkalt sjekksum. Dette er en kort tekststreng som er unik for hver enkelt fil. Algoritmen md5 er én måte å beregne slike sjekksummer. Hvis sjekksummen til filen som er lastet ned er identisk med tilhørende sjekksum på nettsiden til MySQL, kan man være sikker på at nedlastingen har gått korrekt for seg. Som nevnt i kapittel 13 så finnes det «pakkeløsninger» som inneholder MySQL. For en utvikler er det nyttig å kunne bruke egen maskin som web-

3 tjener, og man vil kanskje ha behov for både Apache, MySQL og PHP. Det finnes flere ferdige pakker som gir disse tre produktene med en enkelt installasjon. XAMPP og WAMP er to slike eksempler for Windows. Sikre innebygde MySQL-kontoer Hvis man ikke har definert passord for administratorbrukeren root under installasjon, så kan dette gjøres med kommandolinjeverktøyet mysql. For å logge på mysql som root fra operativsystemet (i kommandovinduet): mysql -u root Brukernavn og password til alle brukere er lagret i metadatabasen mysql. Vi kan bruke SQL for å hente ut denne informasjonen: USE mysql; SELECT User, Host, Password FROM User; Figur 1 viser et mulig spørreresultat. Brukeren root er administratorbrukeren og kan logge seg på databasen fra localhost (IP-adresse 127.0.0.1), men også fra andre maskiner. Det er også definert en anonym bruker (rad 4 med tomt brukernavn) som kun kan logge seg på fra localhost. Det er ikke satt passord for noen av brukerne. Figur 1. Forhåndsdefinerte MySQL-brukere Passord bør lagres kryptert. Det gjør vi med funksjonen PASSWORD. Koden under setter passordet til ux4gy.2a. Sørg for at passordet inneholder både små og store bokstaver, og gjerne siffer og spesialtegn. USE mysql; UPDATE mysql.user

4 SET Password = PASSWORD('ux4GY.2a') WHERE User = 'root'; FLUSH PRIVILEGES; Den siste kommandoen sørger for at passordet blir aktivert umiddelbart. Test ved å logge ut, og så inn igjen. Hvis vi ikke vil tillate pålogging uten brukernavn og passord, så fjerner vi bare den anonyme brukeren: DROP USER ''@'localhost'; Standard installasjon oppretter en testdatabase test. For å forby aksess av denne databasen: DELETE FROM mysql.db WHERE Db = 'test'; Eller man kan slette hele databasen: DROP DATABASE test; Opprette databaser og brukere Som utvikler er det ikke hensiktsmessig å logge på som root. Denne brukeren har for mange rettigheter. Vi er defensive og gir oss selv ikke flere rettigheter enn nødvendig. Vi lager en ny database og en «utvikler-bruker» med tilgang på denne databasen. Første steg er å lage selve databasen. Følgende oppretter en tom database med navn hobbyhuset, der alle data blir lagret i tegnsett UTF-8: CREATE DATABASE IF NOT EXISTS hobbyhuset DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; Neste steg er å lage brukeren. Vi gir brukeren navnet hhbruker og passord hemmelig (velg et bedre passord): CREATE USER 'hhbruker'@'localhost' IDENTIFIED BY 'hemmelig'; Om ønskelig kan vi begrense «aktiviteten» til utvikler-brukeren. Her setter vi en øvre grense på antall spørringer, antall forbindelser og antall oppdateringer pr. time:

5 GRANT USAGE ON *.* TO 'hhbruker'@'localhost' IDENTIFIED BY 'hemmelig' WITH MAX_QUERIES_PER_HOUR 100 MAX_CONNECTIONS_PER_HOUR 50 MAX_UPDATES_PER_HOUR 100; Tildeling av rettigheter gjøres med GRANT-kommandoen. Utvikler-brukeren skal jobbe med databasen hobbyhuset, og kan gis full kontroll over denne databasen slik: GRANT ALL PRIVILEGES ON hobbyhuset.* TO 'hhbruker'@'localhost'; Merk at rettighetene kun gjelder databasen hobbyhuset, så utvikler-brukeren har adskillig færre rettigheter enn root! Vi kan også begrense rettighetene til visse operasjoner mot bestemte tabeller, se kapittel 10 for en introduksjon til brukeradministrasjon. Forhold til SQL-standarden SQL-92 ble definert i tre nivåer: Entry, Intermediate og Full. Fra og med SQL:1999 ble standarden modularisert med en kjerne som alle må støtte, og i tillegg et antall frivillige moduler. MySQL har en god del muligheter som ikke standard SQL har. Vi tar i bruk noen slike utvidelser, og kommenterer dette i hvert enkelt tilfelle. Det finnes også deler av SQL som MySQL ikke støtter, eller gjør på en annen måte. Her er noen eksempler: Når man oppretter en tabell kan man velge databasemotor. Disse er optimalisert for ulike anvendelser, og som standard får man MyISAM. Databasemotoren InnoDB gir mulighet for standard SQL transaksjoner. Andre databasemotorer støtter ikke transaksjoner, men man kan bruke låser eksplisitt for å oppnå noe av den samme effekten. For å få kontroll med fremmednøkler må man bruke InnoDB. De andre databasemotorene godtar FOREIGN KEY syntaktisk, men gjør ingen kontroller. Tekstsammenligninger er case-insensitive. I utgangspunktet er det altså ikke forskjell på små og store bokstaver. I Standard SQL brukes operatoren for å skjøte sammen tekststrenger. Den betyr imidlertid «eller» i MySQL (et synonym til OR). Man kan bruke funksjonen CONCAT i stedet.

6 Tekststrenger kan omsluttes av både enkle og doble apostrofer. I standard SQL brukes doble apostrofer rundt identifikatorer. I Standard SQL angir to bindestreker starten på en-linjes kommentarer. I MySQL må de to bindestrekene etterfølges av et blankt tegn. Fra kommandolinjen vil to bindestreker i starten av linjen bli tolket som en kommentar (og blir dermed ikke sendt til MySQL). Vi kommer til bruke InnoDB som databasemotor for alle tabeller, og gjør det til en vane å starte alle kommentarer med to bindestreker etterfulgt av et blankt tegn, og omslutter tekststrenger med enkle apostrofer. For de fleste praktiske formål vil dermed standard SQL-spørringer fungere i MySQL. Man kan konfigurere MySQL til å holde seg tett opp til SQL standarden: SET GLOBAL TRANSACTION ISOLATION LEVEL SERIALIZABLE; SET GLOBAL sql_mode = 'ANSI';