20TD02Y_CCNA_20TD02T - itnett/FTD02H-N GitHub Wiki
- VirtualBox
- Ubuntu Server (for databasetjenester)
- MySQL
+-----------------+
| VirtualBox |
| Admin VM |
+--------+--------+
|
Virtual Network
|
+------------------+
| Ubuntu Server VM |
| (MySQL Host) |
+------------------+
-
VirtualBox:
- Opprett en virtuell maskin med Ubuntu Server.
- Tildel minst 2 GB RAM og 20 GB diskplass.
Installasjon av Ubuntu Server:
-
Last ned Ubuntu Server ISO:
- Gå til Ubuntu's nettside og last ned ISO-filen.
-
Opprett en ny virtuell maskin i VirtualBox:
- Start VirtualBox og klikk på "New".
- Navngi VM-en og velg "Linux" som type og "Ubuntu (64-bit)" som versjon.
- Tildel 2 GB RAM og opprett en ny virtuell harddisk på 20 GB.
- Velg "Dynamically allocated" og fullfør opprettelsen av VM-en.
-
Installer Ubuntu Server:
- Start VM-en og velg den nedlastede ISO-filen som oppstartsdisk.
- Følg instruksjonene på skjermen for å installere Ubuntu Server med standardinnstillinger.
Installasjon av MySQL:
-
Logg inn på Ubuntu Server:
- Åpne terminalen i den nyinstallerte Ubuntu Server VM-en.
-
Oppdater pakkelisten:
sudo apt update
-
Installer MySQL-server:
sudo apt install -y mysql-server
-
Start og aktiver MySQL:
sudo systemctl start mysql sudo systemctl enable mysql
-
Sikre MySQL-installasjonen:
sudo mysql_secure_installation
- Følg instruksjonene for å sette root-passord og sikre MySQL-installasjonen.
-
Ubuntu Server:
- Fortsett med den nyinstallerte MySQL-serveren.
Opprett en ny database og bruker:
-
Logg inn på MySQL:
sudo mysql -u root -p
-
Opprett en ny database:
CREATE DATABASE studentdb;
-
Opprett en ny bruker og gi den tilgang til databasen:
CREATE USER 'student'@'localhost' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON studentdb.* TO 'student'@'localhost'; FLUSH PRIVILEGES;
-
Ubuntu Server:
- Fortsett med den nyopprettede databasen
studentdb
.
- Fortsett med den nyopprettede databasen
Opprett tabeller og relasjoner:
-
Logg inn på MySQL som den nye brukeren:
mysql -u student -p
-
Opprett tabeller i databasen:
USE studentdb; CREATE TABLE students ( student_id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(100), email VARCHAR(100) UNIQUE ); CREATE TABLE courses ( course_id INT AUTO_INCREMENT PRIMARY KEY, course_name VARCHAR(100), course_code VARCHAR(10) UNIQUE ); CREATE TABLE enrollments ( enrollment_id INT AUTO_INCREMENT PRIMARY KEY, student_id INT, course_id INT, FOREIGN KEY (student_id) REFERENCES students(student_id), FOREIGN KEY (course_id) REFERENCES courses(course_id) );
-
Ubuntu Server:
- Fortsett med den konfigurerte MySQL-serveren og databasene.
Administrasjon av brukere og tilgang:
-
Opprett flere brukere med spesifikke rettigheter:
CREATE USER 'readonly'@'localhost' IDENTIFIED BY 'readonlypassword'; GRANT SELECT ON studentdb.* TO 'readonly'@'localhost'; FLUSH PRIVILEGES; CREATE USER 'admin'@'localhost' IDENTIFIED BY 'adminpassword'; GRANT ALL PRIVILEGES ON studentdb.* TO 'admin'@'localhost'; FLUSH PRIVILEGES;
Implementer sikkerhetstiltak:
-
Kryptering av data:
- Aktiver kryptering i MySQL for spesifikke tabeller eller kolonner ved hjelp av MySQL krypteringsfunksjoner.
ALTER TABLE students MODIFY email VARBINARY(255) NOT NULL;
-
Ubuntu Server:
- Fortsett med den konfigurerte MySQL-serveren og databasene.
Konfigurasjon av logging:
-
Aktiver MySQL logging:
- Rediger MySQL konfigurasjonsfilen
/etc/mysql/mysql.conf.d/mysqld.cnf
og aktiver generell logg.
[mysqld] general_log = 1 general_log_file = /var/log/mysql/mysql.log
- Rediger MySQL konfigurasjonsfilen
-
Start MySQL på nytt:
sudo systemctl restart mysql
Backup og Restore:
-
Ta backup av databasen:
mysqldump -u root -p studentdb > studentdb_backup.sql
-
Gjenopprett databasen fra backup:
mysql -u root -p studentdb < studentdb_backup.sql
-
Ubuntu Server:
- Fortsett med den konfigurerte MySQL-serveren og databasene.
Installere og konfigurere phpMyAdmin for datavisualisering:
-
Installer phpMyAdmin:
sudo apt install -y phpmyadmin
-
Konfigurer phpMyAdmin:
- Følg instruksjonene for å konfigurere phpMyAdmin med MySQL.
-
Logg inn på phpMyAdmin:
- Naviger til
http://<server_ip>/phpmyadmin
i nettleseren din. - Logg inn med MySQL legitimasjonene.
- Naviger til
-
Visualiser data:
- Bruk phpMyAdmin for å utføre SQL-spørringer og visualisere data fra
studentdb
.
- Bruk phpMyAdmin for å utføre SQL-spørringer og visualisere data fra
Testing:
- Verifiser at alle installasjoner og konfigurasjoner er utført korrekt.
- Test opprettelse og administrasjon av databaser og brukere.
- Test sikkerhetstiltak, logging, backup og restore.
- Test datavisualisering med phpMyAdmin.
Dokumentasjon:
- Ta skjermbilder av alle konfigurasjonstrinnene og resultatene.
- Lag en rapport som beskriver trinnene og resultatene av hver lab, inkludert utfordringer og løsninger.
- Samle alle dokumentene i en database-dokumentasjonsmappe.
Disse laboratoriene gir en omfattende hands-on opplevelse med databaser, inkludert installasjon, konfigurasjon, datamodellering, brukeradministrasjon, sikkerhet, logging, backup, restore og datavisualisering, og dekker læringsutbyttene for emnet "Database" ved Fagskolen Innlandet.
Denne labben dekker følgende underkomponenter:
- Databasesystem
- SQL
- Normalisering
- ER-diagram
- Brukeradministrasjon
- Indeksering
- Logging
- Backup og Restore
- Kryptering
- Datavisualisering
- Sikkerhet
- VirtualBox
- Ubuntu Server (for databasetjenester)
- MySQL
+-----------------+
| VirtualBox |
| Admin VM |
+--------+--------+
|
Virtual Network
|
+------------------+
| Ubuntu Server VM |
| (MySQL Host) |
+------------------+
Installasjon av Ubuntu Server:
-
Last ned Ubuntu Server ISO:
- Gå til Ubuntu's nettside og last ned ISO-filen.
-
Opprett en ny virtuell maskin i VirtualBox:
- Start VirtualBox og klikk på "New".
- Navngi VM-en og velg "Linux" som type og "Ubuntu (64-bit)" som versjon.
- Tildel 2 GB RAM og opprett en ny virtuell harddisk på 20 GB.
- Velg "Dynamically allocated" og fullfør opprettelsen av VM-en.
-
Installer Ubuntu Server:
- Start VM-en og velg den nedlastede ISO-filen som oppstartsdisk.
- Følg instruksjonene på skjermen for å installere Ubuntu Server med standardinnstillinger.
Installasjon av MySQL:
-
Logg inn på Ubuntu Server:
- Åpne terminalen i den nyinstallerte Ubuntu Server VM-en.
-
Oppdater pakkelisten:
sudo apt update
-
Installer MySQL-server:
sudo apt install -y mysql-server
-
Start og aktiver MySQL:
sudo systemctl start mysql sudo systemctl enable mysql
-
Sikre MySQL-installasjonen:
sudo mysql_secure_installation
- Følg instruksjonene for å sette root-passord og sikre MySQL-installasjonen.
Opprett en ny database og bruker:
-
Logg inn på MySQL:
sudo mysql -u root -p
-
Opprett en ny database:
CREATE DATABASE studentdb;
-
Opprett en ny bruker og gi den tilgang til databasen:
CREATE USER 'student'@'localhost' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON studentdb.* TO 'student'@'localhost'; FLUSH PRIVILEGES;
Opprett tabeller og relasjoner:
-
Logg inn på MySQL som den nye brukeren:
mysql -u student -p
-
Opprett tabeller i databasen:
USE studentdb; CREATE TABLE students ( student_id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(100), email VARCHAR(100) UNIQUE ); CREATE TABLE courses ( course_id INT AUTO_INCREMENT PRIMARY KEY, course_name VARCHAR(100), course_code VARCHAR(10) UNIQUE ); CREATE TABLE enrollments ( enrollment_id INT AUTO_INCREMENT PRIMARY KEY, student_id INT, course_id INT, FOREIGN KEY (student_id) REFERENCES students(student_id), FOREIGN KEY (course_id) REFERENCES courses(course_id) );
Administrasjon av brukere og tilgang:
-
Opprett flere brukere med spesifikke rettigheter:
CREATE USER 'readonly'@'localhost' IDENTIFIED BY 'readonlypassword'; GRANT SELECT ON studentdb.* TO 'readonly'@'localhost'; FLUSH PRIVILEGES; CREATE USER 'admin'@'localhost' IDENTIFIED BY 'adminpassword'; GRANT ALL PRIVILEGES ON studentdb.* TO 'admin'@'localhost'; FLUSH PRIVILEGES;
Implementer sikkerhetstiltak:
-
Kryptering av data:
- Aktiver kryptering i MySQL for spesifikke tabeller eller kolonner ved hjelp av MySQL krypteringsfunksjoner.
ALTER TABLE students MODIFY email VARBINARY(255) NOT NULL;
Konfigurasjon av logging:
-
Aktiver MySQL logging:
- Rediger MySQL konfigurasjonsfilen
/etc/mysql/mysql.conf.d/mysqld.cnf
og aktiver generell logg.
[mysqld] general_log = 1 general_log_file = /var/log/mysql/mysql.log
- Rediger MySQL konfigurasjonsfilen
-
Start MySQL på nytt:
sudo systemctl restart mysql
Backup og Restore:
-
Ta backup av databasen:
mysqldump -u root -p studentdb > studentdb_backup.sql
-
Gjenopprett databasen fra backup:
mysql -u root -p studentdb < studentdb_backup.sql
Installere og konfigurere phpMyAdmin for datavisualisering:
-
Installer phpMyAdmin:
sudo apt install -y phpmyadmin
-
Konfigurer phpMyAdmin:
- Følg instruksjonene for å konfigurere phpMyAdmin med MySQL.
-
Logg inn på phpMyAdmin:
- Naviger til
http://<server_ip>/phpmyadmin
i nettleseren din. - Logg inn med MySQL legitimasjonene.
- Naviger til
-
Visualiser data:
- Bruk phpMyAdmin for å utføre SQL-spørringer og visualisere data fra
studentdb
.
- Bruk phpMyAdmin for å utføre SQL-spørringer og visualisere data fra
Testing:
- Verifiser at alle installasjoner og konfigurasjoner er utført korrekt.
- Test opprettelse og administrasjon av databaser og brukere.
- Test sikkerhetstiltak, logging, backup og restore.
- Test datavisualisering med phpMyAdmin.
Dokumentasjon:
- Ta skjermbilder av alle konfigurasjonstrinnene og resultatene.
- Lag en rapport som beskriver trinnene og resultatene av hver lab, inkludert utfordringer og løsninger.
- Samle alle dokumentene i en database-dokumentasjonsmappe.
-
Database:
- Databasesystem
- SQL
- Normalisering
- ER-diagram
- Brukeradministrasjon
- Indeksering
- Logging
- Backup og Restore
- Kryptering
- Datavisualisering
- Sikkerhet
Huske:
- Prompt: "Hva er et databasesystem? Beskriv kort de grunnleggende komponentene i et databasesystem."
- Logisk Metode: Identifisere grunnleggende fakta.
- Blooms Nivå: Gjenkalle informasjon.
Forstå:
- Prompt: "Forklar hva SQL er, og hvorfor det er viktig for å håndtere databaser."
- Logisk Metode: Forklare og tolke konsepter.
- Blooms Nivå: Demonstrere forståelse.
Anvende:
- Prompt: "Hvordan bruker du SQL for å opprette og administrere en database? Gi et konkret eksempel på en SQL-kommando."
- Logisk Metode: Bruke kunnskap i praksis.
- Blooms Nivå: Anvende konsepter praktisk.
Analysere:
- Prompt: "Hvordan kan du analysere en SQL-forespørsel for å forbedre ytelsen?"
- Logisk Metode: Dekomponere og vurdere forespørsler.
- Blooms Nivå: Analysere komponenter.
Evaluere:
- Prompt: "Vurder fordeler og ulemper ved å bruke relasjonsdatabaser sammenlignet med NoSQL-d
atabaser."
- Logisk Metode: Kritisk vurdere effektivitet.
- Blooms Nivå: Evaluere basert på kriterier.
Skape:
- Prompt: "Utvikle en kompleks SQL-forespørsel for å hente spesifikk informasjon fra en stor database."
- Logisk Metode: Syntetisere og skape nye forespørsler.
- Blooms Nivå: Skape innovative løsninger.
Huske:
- Prompt: "Hva er normalisering i en database? Beskriv kort de ulike normalformer."
- Logisk Metode: Identifisere grunnleggende fakta.
- Blooms Nivå: Gjenkalle informasjon.
Forstå:
- Prompt: "Forklar hvordan normalisering forbedrer dataintegritet i en database."
- Logisk Metode: Forklare og tolke konsepter.
- Blooms Nivå: Demonstrere forståelse.
Anvende:
- Prompt: "Hvordan normaliserer du en tabell i en database? Gi et konkret eksempel."
- Logisk Metode: Bruke kunnskap i praksis.
- Blooms Nivå: Anvende konsepter praktisk.
Analysere:
- Prompt: "Hvordan kan du analysere et ER-diagram for å identifisere ineffektive datamodeller?"
- Logisk Metode: Dekomponere og vurdere diagrammer.
- Blooms Nivå: Analysere komponenter.
Evaluere:
- Prompt: "Vurder fordeler og ulemper ved ulike metoder for datamodellering."
- Logisk Metode: Kritisk vurdere modelleringsmetoder.
- Blooms Nivå: Evaluere basert på kriterier.
Skape:
- Prompt: "Design et ER-diagram for en ny database som skal brukes i en e-handelsapplikasjon."
- Logisk Metode: Syntetisere og skape nye diagrammer.
- Blooms Nivå: Skape innovative løsninger.
Huske:
- Prompt: "Hva er brukeradministrasjon i en database? Beskriv kort de viktigste oppgavene."
- Logisk Metode: Identifisere grunnleggende fakta.
- Blooms Nivå: Gjenkalle informasjon.
Forstå:
- Prompt: "Forklar hvordan indeksering forbedrer ytelsen til en database."
- Logisk Metode: Forklare og tolke konsepter.
- Blooms Nivå: Demonstrere forståelse.
Anvende:
- Prompt: "Hvordan oppretter og administrerer du brukere i en MySQL-database? Gi et konkret eksempel."
- Logisk Metode: Bruke kunnskap i praksis.
- Blooms Nivå: Anvende konsepter praktisk.
Analysere:
- Prompt: "Hvordan kan du analysere eksisterende indekser for å optimalisere databaseytelsen?"
- Logisk Metode: Dekomponere og vurdere indekser.
- Blooms Nivå: Analysere komponenter.
Evaluere:
- Prompt: "Vurder fordeler og ulemper ved å bruke komplekse indekser i en stor database."
- Logisk Metode: Kritisk vurdere indeksers effektivitet.
- Blooms Nivå: Evaluere basert på kriterier.
Skape:
- Prompt: "Utvikle en strategi for brukeradministrasjon og indeksering i en database med høy trafikk."
- Logisk Metode: Syntetisere og skape nye strategier.
- Blooms Nivå: Skape innovative løsninger.
Huske:
- Prompt: "Hva er logging i en database? Beskriv kort hvorfor det er viktig."
- Logisk Metode: Identifisere grunnleggende fakta.
- Blooms Nivå: Gjenkalle informasjon.
Forstå:
- Prompt: "Forklar hvordan backup og restore prosesser fungerer i en database."
- Logisk Metode: Forklare og tolke konsepter.
- Blooms Nivå: Demonstrere forståelse.
Anvende:
- Prompt: "Hvordan utfører du en backup og restore i en MySQL-database? Gi et konkret eksempel."
- Logisk Metode: Bruke kunnskap i praksis.
- Blooms Nivå: Anvende konsepter praktisk.
Analysere:
- Prompt: "Hvordan kan du analysere loggfiler for å identifisere potensielle problemer i en database?"
- Logisk Metode: Dekomponere og vurdere loggfiler.
- Blooms Nivå: Analysere komponenter.
Evaluere:
- Prompt: "Vurder fordeler og ulemper ved ulike backup-strategier for databaser."
- Logisk Metode: Kritisk vurdere backup-strategier.
- Blooms Nivå: Evaluere basert på kriterier.
Skape:
- Prompt: "Utvikle en robust backup- og restore-strategi for en kritisk forretningsdatabase."
- Logisk Metode: Syntetisere og skape nye strategier.
- Blooms Nivå: Skape innovative løsninger.
Huske:
- Prompt: "Hva er kryptering i en database? Beskriv kort de ulike typene kryptering."
- Logisk Metode: Identifisere grunnleggende fakta.
- Blooms Nivå: Gjenkalle informasjon.
Forstå:
- Prompt: "Forklar hvordan datavisualisering kan hjelpe med å forstå store datamengder."
- Logisk Metode: Forklare og tolke konsepter.
- Blooms Nivå: Demonstrere forståelse.
Anvende:
- Prompt: "Hvordan implementerer du kryptering for sensitive data i en database? Gi et konkret eksempel."
- Logisk Metode: Bruke kunnskap i praksis.
- Blooms Nivå: Anvende konsepter praktisk.
Analysere:
- Prompt: "Hvordan kan du analysere krypterte data uten å kompromittere sikkerheten?"
- Logisk Metode: Dekomponere og vurdere krypteringsmetoder.
- Blooms Nivå: Analysere komponenter.
Evaluere:
- Prompt: "Vurder fordeler og ulemper ved ulike metoder for datavisualisering."
- Logisk Metode: Kritisk vurdere visualiseringsmetoder.
- Blooms Nivå: Evaluere basert på kriterier.
Skape:
- Prompt: "Utvikle en datavisualiseringsdashboard for å overvåke viktige databaseparametere."
- Logisk Metode: Syntetisere og skape nye dashboards.
- Blooms Nivå: Skape innovative løsninger.
- Identifisere Kunnskap: Start med å huske og forstå grunnleggende konsepter og terminologi (Huske, Forstå).
- Anvendelse og Praktisk Erfaring: Bruk kunnskapen i praktiske situasjoner og prosjekter (Anvende).
- Dekomponering og Analyse: Analyser data og forhold mellom komponenter for å forstå dypere (Analysere).
- Kritisk Vurdering: Evaluere og bedømme ideer og løsninger basert på definerte kriterier (Evaluere).
- Innovasjon og Skapelse: Kombinere kunnskap og erfaringer for å skape nye ideer og produkter (Skape).
Ved å følge denne modellen kan studenter og yrkesutøvere i 20TD02T Database utvikle en dyp og anvendbar forståelse av emnet, samtidig som de utnytter logiske metoder for å oppnå hver fase av Blooms taksonomi.
Huske:
-
Prompt: "Hva er et databasesystem? Beskriv kort de grunnleggende komponentene i et databasesystem."
- Dekning: Introduksjonen og installasjonen av MySQL i Lab 1 dekker dette ved å forklare hva et databasesystem er og hvordan MySQL fungerer.
Forstå:
-
Prompt: "Forklar hva SQL er, og hvorfor det er viktig for å håndtere databaser."
- Dekning: Lab 2, hvor du oppretter og bruker databaser, forklarer hva SQL er og demonstrerer hvordan det brukes til å håndtere databaser.
Anvende:
-
Prompt: "Hvordan bruker du SQL for å opprette og administrere en database? Gi et konkret eksempel på en SQL-kommando."
- Dekning: Lab 2 viser praktisk bruk av SQL-kommandoer for å opprette en database og tabeller.
Analysere:
-
Prompt: "Hvordan kan du analysere en SQL-forespørsel for å forbedre ytelsen?"
- Dekning: Dette kan legges til i Lab 4 ved å inkludere en del om indeksering og optimalisering av SQL-forespørsler.
Evaluere:
-
Prompt: "Vurder fordeler og ulemper ved å bruke relasjonsdatabaser sammenlignet med NoSQL-databaser."
- Dekning: Selv om det ikke er direkte dekket, kan dette inkluderes som en diskusjonsoppgave eller ekstra lesing knyttet til Lab 1.
Skape:
-
Prompt: "Utvikle en kompleks SQL-forespørsel for å hente spesifikk informasjon fra en stor database."
- Dekning: Lab 6 om datavisualisering kan utvides til å inkludere utvikling av komplekse SQL-forespørsler for datavisualisering.
Huske:
-
Prompt: "Hva er normalisering i en database? Beskriv kort de ulike normalformer."
- Dekning: Introduksjonen til datamodellering og normalisering i Lab 3 dekker dette.
Forstå:
-
Prompt: "Forklar hvordan normalisering forbedrer dataintegritet i en database."
- Dekning: Lab 3 forklarer og viser hvordan normalisering brukes for å forbedre dataintegritet.
Anvende:
-
Prompt: "Hvordan normaliserer du en tabell i en database? Gi et konkret eksempel."
- Dekning: Lab 3 inkluderer praktiske eksempler på normalisering.
Analysere:
-
Prompt: "Hvordan kan du analysere et ER-diagram for å identifisere ineffektive datamodeller?"
- Dekning: Dette kan legges til i Lab 3 som en ekstra oppgave for å analysere og forbedre et gitt ER-diagram.
Evaluere:
-
Prompt: "Vurder fordeler og ulemper ved ulike metoder for datamodellering."
- Dekning: Kan inkluderes som en diskusjonsoppgave etter Lab 3.
Skape:
-
Prompt: "Design et ER-diagram for en ny database som skal brukes i en e-handelsapplikasjon."
- Dekning: Lab 3 inkluderer design av ER-diagrammer og kan utvides til å inkludere dette spesifikke eksemplet.
Huske:
-
Prompt: "Hva er brukeradministrasjon i en database? Beskriv kort de viktigste oppgavene."
- Dekning: Lab 4 dekker brukeradministrasjon og beskriver de viktigste oppgavene.
Forstå:
-
Prompt: "Forklar hvordan indeksering forbedrer ytelsen til en database."
- Dekning: Lab 4 inkluderer en forklaring på hvordan indeksering fungerer og forbedrer ytelsen.
Anvende:
-
Prompt: "Hvordan oppretter og administrerer du brukere i en MySQL-database? Gi et konkret eksempel."
- Dekning: Lab 4 viser hvordan brukere opprettes og administreres.
Analysere:
-
Prompt: "Hvordan kan du analysere eksisterende indekser for å optimalisere databaseytelsen?"
- Dekning: Dette kan legges til i Lab 4 som en oppgave for å analysere og optimalisere eksisterende indekser.
Evaluere:
-
Prompt: "Vurder fordeler og ulemper ved å bruke komplekse indekser i en stor database."
- Dekning: Kan inkluderes som en diskusjonsoppgave etter Lab 4.
Skape:
-
Prompt: "Utvikle en strategi for brukeradministrasjon og indeksering i en database med høy trafikk."
- Dekning: Lab 4 kan utvides til å inkludere utvikling av en slik strategi.
Huske:
-
Prompt: "Hva er logging i en database? Beskriv kort hvorfor det er viktig."
- Dekning: Lab 5 dekker logging og forklarer hvorfor det er viktig.
Forstå:
-
Prompt: "Forklar hvordan backup og restore prosesser fungerer i en database."
- Dekning: Lab 5 forklarer og viser hvordan backup og restore fungerer.
Anvende:
-
Prompt: "Hvordan utfører du en backup og restore i en MySQL-database? Gi et konkret eksempel."
- Dekning: Lab 5 inkluderer praktiske eksempler på backup og restore.
Analysere:
-
Prompt: "Hvordan kan du analysere loggfiler for å identifisere potensielle problemer i en database?"
- Dekning: Dette er dekket i Lab 5 hvor du aktiverer og analyserer logger.
Evaluere:
-
Prompt: "Vurder fordeler og ulemper ved ulike backup-strategier for databaser."
- Dekning: Kan inkluderes som en diskusjonsoppgave etter Lab 5.
Skape:
-
Prompt: "Utvikle en robust backup- og restore-strategi for en kritisk forretningsdatabase."
- Dekning: Lab 5 kan utvides til å inkludere utvikling av en slik strategi.
Huske:
-
Prompt: "Hva er kryptering i en database? Beskriv kort de ulike typene kryptering."
- Dekning: Lab 4 dekker kryptering av data i databasen.
Forstå:
-
Prompt: "Forklar hvordan datavisualisering kan hjelpe med å forstå store datamengder."
- Dekning: Lab 6 dekker datavisualisering og forklarer dens betydning.
Anvende:
-
Prompt: "Hvordan implementerer du kryptering for sensitive data i en database? Gi et konkret eksempel."
- Dekning: Lab 4 viser hvordan kryptering implementeres i en MySQL-database.
Analysere:
-
Prompt: "Hvordan kan du analysere krypterte data uten å kompromittere sikkerheten?"
- Dekning: Dette kan inkluderes som en ekstra oppgave i Lab 4 for å analysere krypterte data.
Evaluere:
-
Prompt: "Vurder fordeler og ulemper ved ulike metoder for datavisualisering."
- Dekning: Kan inkluderes som en diskusjonsoppgave etter Lab 6.
Skape:
-
Prompt: "Utvikle en datavisualiseringsdashboard for å overvåke viktige databaseparametere."
- Dekning: Lab 6 inkluderer utvikling av datavisualisering med phpMyAdmin, og kan utvides til å dekke utvikling av et dashboard.
-
Lab 1: Installasjon og Konfigurasjon av MySQL
- Dekker: Huske hva et databasesystem er, installasjon av databasesystem, forstå hvorfor SQL er viktig.
-
Lab 2: Opprettelse og Bruk av Databaser
- Dekker: Anvende SQL til å opprette og administrere databaser, forstå hva SQL er.
-
Lab 3: Datamodellering og Normalisering
- Dekker: Huske og forstå normalisering, anvende normalisering, opprette ER-diagrammer.
-
Lab 4: Brukeradministrasjon og Indeksering
- Dekker: Huske og forstå brukeradministrasjon og indeksering, anvende brukeradministrasjon, implementere kryptering.
-
Lab 5: Logging, Backup og Restore
- Dekker: Huske og forstå logging, backup og restore, anvende backup og restore, analysere logger.
-
Lab 6: Datavisualisering
- Dekker: Anvende og forstå datavisualisering, opprette komplekse SQL-forespørsler.
Ved å følge disse labbene, vil du dekke alle nivåene i Blooms taksonomi og anvende logiske metoder til hver del av emnet databaseadministrasjon.
For å sikre at alle aspekter av emnet er dekket i henhold til Blooms taksonomi, utvider vi labbene og legger til nye øvelser der det er nødvendig. Vi inkluderer også spesifikke oppgaver for hvert nivå i Blooms taksonomi for å sikre en helhetlig læringsopplevelse.
Installasjon av Ubuntu Server:
-
Last ned Ubuntu Server ISO:
- Gå til Ubuntu's nettside og last ned ISO-filen.
-
Opprett en ny virtuell maskin i VirtualBox:
- Start VirtualBox og klikk på "New".
- Navngi VM-en og velg "Linux" som type og "Ubuntu (64-bit)" som versjon.
- Tildel 2 GB RAM og opprett en ny virtuell harddisk på 20 GB.
- Velg "Dynamically allocated" og fullfør opprettelsen av VM-en.
-
Installer Ubuntu Server:
- Start VM-en og velg den nedlastede ISO-filen som oppstartsdisk.
- Følg instruksjonene på skjermen for å installere Ubuntu Server med standardinnstillinger.
Installasjon av MySQL:
-
Logg inn på Ubuntu Server:
- Åpne terminalen i den nyinstallerte Ubuntu Server VM-en.
-
Oppdater pakkelisten:
sudo apt update
-
Installer MySQL-server:
sudo apt install -y mysql-server
-
Start og aktiver MySQL:
sudo systemctl start mysql sudo systemctl enable mysql
-
Sikre MySQL-installasjonen:
sudo mysql_secure_installation
- Følg instruksjonene for å sette root-passord og sikre MySQL-installasjonen.
Dekning:
- Huske: Installasjon av databasesystem og grunnleggende komponenter.
- Forstå: Hvorfor SQL er viktig for håndtering av databaser.
Opprett en ny database og bruker:
-
Logg inn på MySQL:
sudo mysql -u root -p
-
Opprett en ny database:
CREATE DATABASE studentdb;
-
Opprett en ny bruker og gi den tilgang til databasen:
CREATE USER 'student'@'localhost' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON studentdb.* TO 'student'@'localhost'; FLUSH PRIVILEGES;
Dekning:
- Anvende: Opprette og administrere databaser ved hjelp av SQL-kommandoer.
- Forstå: Viktigheten av SQL i databasehåndtering.
Opprett tabeller og relasjoner:
-
Logg inn på MySQL som den nye brukeren:
mysql -u student -p
-
Opprett tabeller i databasen:
USE studentdb; CREATE TABLE students ( student_id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(100), email VARCHAR(100) UNIQUE ); CREATE TABLE courses ( course_id INT AUTO_INCREMENT PRIMARY KEY, course_name VARCHAR(100), course_code VARCHAR(10) UNIQUE ); CREATE TABLE enrollments ( enrollment_id INT AUTO_INCREMENT PRIMARY KEY, student_id INT, course_id INT, FOREIGN KEY (student_id) REFERENCES students(student_id), FOREIGN KEY (course_id) REFERENCES courses(course_id) );
Dekning:
- Huske: Normalisering og ER-diagram.
- Forstå: Hvordan normalisering forbedrer dataintegritet.
- Anvende: Oppretting av tabeller og relasjoner.
Administrasjon av brukere og tilgang:
-
Opprett flere brukere med spesifikke rettigheter:
CREATE USER 'readonly'@'localhost' IDENTIFIED BY 'readonlypassword'; GRANT SELECT ON studentdb.* TO 'readonly'@'localhost'; FLUSH PRIVILEGES; CREATE USER 'admin'@'localhost' IDENTIFIED BY 'adminpassword'; GRANT ALL PRIVILEGES ON studentdb.* TO 'admin'@'localhost'; FLUSH PRIVILEGES;
Implementer sikkerhetstiltak:
-
Kryptering av data:
- Aktiver kryptering i MySQL for spesifikke tabeller eller kolonner ved hjelp av MySQL krypteringsfunksjoner.
ALTER TABLE students MODIFY email VARBINARY(255) NOT NULL;
Dekning:
- Huske: Brukeradministrasjon og indeksering.
- Forstå: Hvordan indeksering forbedrer ytelsen til en database.
- Anvende: Oppretting og administrasjon av brukere i MySQL.
- Skape: Utvikling av strategi for brukeradministrasjon og indeksering.
Konfigurasjon av logging:
-
Aktiver MySQL logging:
- Rediger MySQL konfigurasjonsfilen
/etc/mysql/mysql.conf.d/mysqld.cnf
og aktiver generell logg.
[mysqld] general_log = 1 general_log_file = /var/log/mysql/mysql.log
- Rediger MySQL konfigurasjonsfilen
-
Start MySQL på nytt:
sudo systemctl restart mysql
Backup og Restore:
-
Ta backup av databasen:
mysqldump -u root -p studentdb > studentdb_backup.sql
-
Gjenopprett databasen fra backup:
mysql -u root -p studentdb < studentdb_backup.sql
Dekning:
- Huske: Logging, backup og restore.
- Forstå: Backup og restore prosesser.
- Anvende: Utføre backup og restore.
- Analysere: Analyser loggfiler for å identifisere potensielle problemer.
- Evaluere: Fordeler og ulemper ved ulike backup-strategier.
- Skape: Utvikle en robust backup- og restore-strategi.
Installere og konfigurere phpMyAdmin for datavisualisering:
-
Installer phpMyAdmin:
sudo apt install -y phpmyadmin
-
Konfigurer phpMyAdmin:
- Følg instruksjonene for å konfigurere phpMyAdmin med MySQL.
-
Logg inn på phpMyAdmin:
- Naviger til
http://<server_ip>/phpmyadmin
i nettleseren din. - Logg inn med MySQL legitimasjonene.
- Naviger til
-
Visualiser data:
- Bruk phpMyAdmin for å utføre SQL-spørringer og visualisere data fra
studentdb
.
- Bruk phpMyAdmin for å utføre SQL-spørringer og visualisere data fra
Dekning:
- Huske: Kryptering i en database.
- Forstå: Viktigheten av datavisualisering.
- Anvende: Implementering av kryptering for sensitive data.
- Skape: Utvikle en datavisualiseringsdashboard for å overvåke viktige databaseparametere.
Utvikle komplekse SQL-forespørsler:
-
Opprett en kompleks SQL-forespørsel:
SELECT s.name, c.course_name FROM students s JOIN enrollments e ON s.student_id = e.student_id JOIN courses c ON e.course_id = c.course_id WHERE c.course_name = 'Database Systems';
Ytelsesoptimalisering:
-
Analysere og optimalisere SQL-forespørsler:
EXPLAIN SELECT s.name, c.course_name FROM students s JOIN enrollments e ON s.student_id = e.student_id JOIN courses c ON e.course_id = c.course_id WHERE c.course_name = 'Database Systems';
-
Opprett indekser for å forbedre ytelsen:
CREATE INDEX idx_course_name ON courses(course_name);
Dekning:
- Analysere: Analysere en SQL-forespørsel for å forbedre ytelsen.
- Skape: Utvikle komplekse SQL-forespørsler for å hente spesifikk informasjon.
**
Migrere database til en skyplattform:**
-
Opprett en MySQL-instans på en skyplattform (f.eks. AWS RDS, Azure Database for MySQL):
- Følg instruksjonene fra skyplattformen for å opprette en MySQL-instans.
-
Migrere data:
- Eksporter data fra den lokale MySQL-databasen.
mysqldump -u root -p studentdb > studentdb_backup.sql
- Importer data til MySQL-instansen på skyplattformen.
mysql -h <cloud_mysql_host> -u <username> -p studentdb < studentdb_backup.sql
Dekning:
- Huske: Databasmigrasjon.
- Forstå: Viktigheten av planlegging før migrering.
- Anvende: Migrere en database.
- Analysere: Analysere migrasjonslogger.
- Evaluere: Fordeler og ulemper ved migrasjonsmetoder.
- Skape: Utvikle en detaljert migrasjonsplan.
Ved å følge disse utvidede og nye labbene, vil alle aspekter av databaselæring bli dekket, og studentene vil ha muligheten til å anvende og praktisere kunnskapen sin på en helhetlig måte.
Ja, vi kan utnytte Cisco-maskinvaren i disse labbene ved å integrere nettverkskomponenter og nettverkskonfigurasjoner som en del av infrastrukturen for databaselabbene. Dette vil gi en mer helhetlig og praktisk tilnærming til hvordan nettverksinfrastruktur påvirker databaseadministrasjon og sikkerhet. Her er noen ideer om hvordan Cisco-enhetene kan integreres:
- Catalyst 2950
- Catalyst 2960G
- Catalyst 3750G
- Cisco Nexus 5548UP
- Catalyst 2940
- Unifi 8-porters PoE Switch
Trinnvis Veiledning
- Koble serveren til nettverket ved hjelp av en Cisco-switch.
- Bruk Catalyst 2950 eller Catalyst 2960G for å koble Ubuntu-serveren til nettverket.
[Ubuntu Server] -- [Catalyst 2950/2960G] -- [Nettverk]
-
Konfigurer VLAN-er for segmentering:
- Opprett et VLAN for databasenettverket.
- Tildel en port til VLAN-et og koble Ubuntu-serveren til denne porten.
configure terminal
vlan 10
name Database
exit
interface fastEthernet 0/1
switchport mode access
switchport access vlan 10
exit
Dekning:
- Forstå: Hvorfor nettverkssegmentering er viktig for sikkerheten til databasesystemer.
Trinnvis Veiledning
- Koble flere servere til nettverket og segmenter dem i forskjellige VLAN-er ved hjelp av Cisco-switcher.
- Bruk Catalyst 3750G for å koble flere servere og opprette et VLAN for hver databaseapplikasjon.
[Server1] -- [Catalyst 3750G] -- [VLAN 10]
[Server2] -- [Catalyst 3750G] -- [VLAN 20]
[Server3] -- [Catalyst 3750G] -- [VLAN 30]
- Opprett trunk-porter for å tillate VLAN-trafikk mellom switchene.
interface gigabitEthernet 1/0/1
switchport mode trunk
switchport trunk allowed vlan 10,20,30
exit
Dekning:
- Anvende: Bruk av nettverkssegmentering og trunking for å administrere databaseservere.
Trinnvis Veiledning
- Implementer nettverksdiagrammer som en del av ER-diagrammene.
- Bruk Cisco Nexus 5548UP for å simulere et datasentermiljø.
[Cisco Nexus 5548UP]
|-- [Server1 - VLAN 10]
|-- [Server2 - VLAN 20]
|-- [Server3 - VLAN 30]
- Konfigurer VPC (Virtual Port-Channel) for å sikre redundans og lastbalansering.
configure terminal
vpc domain 1
role priority 100
peer-keepalive destination 192.168.1.2 source 192.168.1.1
interface port-channel 1
vpc peer-link
interface ethernet 1/1
channel-group 1 mode active
exit
Dekning:
- Analysere: Hvordan nettverksinfrastruktur påvirker datamodellering og normalisering.
Trinnvis Veiledning
- Koble administrasjonsservere til et administrasjons-VLAN.
- Bruk Catalyst 2940 for å koble administrasjonsservere.
[Admin Server] -- [Catalyst 2940] -- [VLAN 40]
- Konfigurer port security for å forhindre uautoriserte enheter.
interface fastEthernet 0/1
switchport mode access
switchport port-security
switchport port-security maximum 2
switchport port-security violation restrict
switchport port-security mac-address sticky
exit
Dekning:
- Anvende: Sikre nettverksporter og administrasjonsbrukere i databasen.
Trinnvis Veiledning
- Koble logg- og backupservere til nettverket via PoE-switcher for enklere administrasjon.
- Bruk Unifi 8-porters PoE Switch for å koble logg- og backupservere.
[Log Server] -- [Unifi PoE Switch] -- [Nettverk]
[Backup Server] -- [Unifi PoE Switch] -- [Nettverk]
- Konfigurer nettverksmonitorering for å sikre at logg- og backuptrafikk fungerer som forventet.
# Unifi Controller GUI for å konfigurere overvåking og logging.
Dekning:
- Forstå: Hvordan nettverkskonfigurasjon og overvåking påvirker logging og backup i databaser.
Trinnvis Veiledning
- Bruk VLAN-segmentering for å isolere datavisualiseringsservere fra andre deler av nettverket.
- Bruk Catalyst 2960G for å segmentere datavisualiseringsservere.
[Visualization Server] -- [Catalyst 2960G] -- [VLAN 50]
- Konfigurer QoS (Quality of Service) for å sikre at visualiseringstrafikk har høy prioritet.
configure terminal
interface gigabitEthernet 0/1
mls qos trust dscp
exit
Dekning:
- Skape: Sikre datavisualiseringsmiljøet og optimere nettverksytelsen.
Trinnvis Veiledning
- Bruk nettverksverktøy for å overvåke og analysere nettverkstrafikken for SQL-forespørsler.
- Bruk Catalyst 3750G for å overvåke trafikk mellom databaseservere og klienter.
[Server1] -- [Catalyst 3750G] -- [Client1]
- Konfigurer SPAN (Switch Port Analyzer) for trafikkovervåking.
monitor session 1 source interface gigabitEthernet 1/0/1
monitor session 1 destination interface gigabitEthernet 1/0/2
Dekning:
- Analysere: Overvåke SQL-forespørsler og optimalisere nettverkstrafikken.
Trinnvis Veiledning
- Koble lokale servere til internett via en sikker gateway for migrasjon til skyen.
- Bruk Cisco Nexus 5548UP som en gateway for sikker internettilkobling.
[Local Server] -- [Cisco Nexus 5548UP] -- [Internet]
- Konfigurer VPN for sikker migrasjon.
# VPN-konfigurasjon på Cisco Nexus 5548UP for sikker datamigrasjon.
Dekning:
- Skape: Utvikle en sikker migrasjonsplan ved hjelp av VPN og sikre gateway-koblinger.
Lab 1: Installasjon og Konfigurasjon av MySQL
graph TD;
A[Ubuntu Server] -->|FastEthernet 0/1| B[Catalyst 2950/2960G];
B -->|VLAN 10| C[Nettverk];
Lab 2: Opprettelse og Bruk av Databaser
graph TD;
A[Server1] -->|GigabitEthernet 1/0/1| B[Catalyst 3750G];
B -->|VLAN 10| C[Server2];
B -->|VLAN 20| D[Server3];
B -->|VLAN 30| E[Nettverk];
Lab 3: Datamodellering og Normalisering
graph TD;
A[Cisco Nexus 5548UP] -->|VLAN 10| B[Server1];
A -->|VLAN 20| C[Server2];
A -->|VLAN 30| D[Server3];
A -->|VPC| E[Redundancy];
Lab 4: Brukeradministrasjon og Indeksering
graph TD;
A[Admin Server] -->|FastEthernet 0/1| B[Catalyst 2940];
B -->|VLAN 40| C[Nettverk];
Lab 5: Logging, Backup og Restore
graph TD;
A[Log Server] -->|PoE| B[Unifi PoE Switch];
A[Backup Server] -->|PoE| B[Unifi PoE Switch];
B --> C[Nettverk];
Lab 6: Datavisualisering
graph TD;
A[Visualization Server] -->|GigabitEthernet 0/1| B[Catalyst 2960G];
B -->|VLAN 50| C[Nettverk];
Lab 7: Avansert SQL Forespørsel og Ytelsesoptimalisering
graph TD;
A[Server1] -->|GigabitEthernet 1/0/1| B[Catalyst 3750G];
B -->|SPAN| C[Client1];
Lab 8: Migrasjon og Skyplattform
graph TD;
A[Local Server] -->|GigabitEthernet 1/0/1| B[Cisco Nexus 5548UP];
B -->|VPN| C[Internet];
C --> D[Cloud MySQL];
Ved å integrere Cisco-maskinvaren i databaselabbene, kan studentene lære hvordan nettverksinfrastruktur påvirker databaseadministrasjon, sikkerhet, og ytelse. Dette gir en mer helhetlig læringsopplevelse og praktisk forståelse av hvordan nettverks- og databasesystemer fungerer sammen.