# Hvordan koble MariaDB til Python

Du kan bruke Python og MariaDB til **å koble en database** effektivt til applikasjoner og behandle informasjon. Kombinasjonen av Python og MariaDB er spesielt egnet for webapplikasjoner, dataanalyse og automatisering av rapporter.

## Hva er forutsetningene?

Du må oppfylle følgende krav for å koble Python-programmer til MariaDB:

- **Python-installasjoner**: Du må ha Python installert på systemet ditt. Sørg for at du bruker en versjon som støttes av MariaDB.
- **MariaDB-database**: Du må ha en funksjonell MariaDB-database. Du kan enten bruke en lokal MariaDB-installasjon eller opprette en forbindelse med en ekstern database.
- **Databasetilgangsdata**: Du trenger informasjon som vertsnavn, port, databasenavn, brukernavn og passord for å koble til MariaDB-databasen.
- **Python-modul**: Python/Connector-modulen for tilkobling til MariaDB må være installert.

## Hvordan forberede og installere MariaDB med Python

Det er to måter å få tilgang til en MariaDB-server på. Du kan enten installere en MariaDB-server på din egen datamaskin eller server, eller bruke MariaDB-plattformen i skyen.

### Alternativ 1: Installer MariaDB på maskinvare

Det er ganske enkelt å laste ned og installere **MariaDB-pakken** på din egen maskinvare. Her er en trinnvis veiledning:

**Trinn 1: Kontroller systemkravene**

Sjekk kravene for å installere MariaDB på systemet ditt. Forsikre deg om at maskinvaren din oppfyller minimumskravene, som tilstrekkelig diskplass og minne.

**Trinn 2: Last ned MariaDB**

Gå til MariaDBs offisielle nettside og velg nedlastingen for ditt operativsystem (Windows, Linux eller macOS). Pass på at du velger riktig versjon for ditt system.

**Trinn 3: Installer pakken**

Last ned pakken for operativsystemet og arkitekturen din (32-biters eller 64-biters). Når nedlastingen er fullført, kjører du installasjonen. Installasjonen starter på forskjellige måter på forskjellige operativsystemer. For eksempel, for [å installere MariaDB på Ubuntu 20.04](https://www.ionos.com/nb-no/digitalguide/hosting/tekniske-spoersmaal/installer-mariadb-paa-ubuntu-2004/), skriver du inn kommandoen `sudo apt install mariadb-server`.

**Trinn 4: Konfigurer databasen**

Nå må du konfigurere MariaDB-serveren. Dette inkluderer å spesifisere tilgangsdata, sikkerhetsinnstillinger og andre databaseparametere.

**Trinn 5: Start MariaDB**

Start MariaDB-serveren. På Windows kan du gjøre dette med **Service Manager**. På Linux og macOS kan du gjøre det på kommandolinjen med `sudo systemctl start mariadb` eller `sudo service mariadb start`.

**Trinn 6: Utfør innledende konfigurasjon**

Etter at du har startet MariaDB, konfigurerer du den ved hjelp av kommandoen `mysql_secure_installation`. Kommandoen hjelper deg med å definere viktige sikkerhetsinnstillinger som passord og sletting av testkontoer.

**Trinn 7: Test tilgang til databasen**

Sjekk om du kan koble til databasen. Logg inn som root-bruker med `mysql -u root -p`. Skriv inn passordet ditt og kjør noen enkle SQL-spørringer for å sikre at serveren fungerer som den skal.

### Alternativ 2: Bruk MariaDB SkySQL

MariaDB SkySQL er en **skybasert databaseplattform** som du kan bruke til å kjøre MariaDB-databaser i skyen. Plattformen inkluderer MariaDB Enterprise Server og tilbyr automatisk skalering, høy tilgjengelighet og integrerte sikkerhetsfunksjoner.

**Trinn 1: Registrer deg og logg inn**

Gå til den offisielle MariaDB SkySQL-nettsiden og registrer deg for en konto, hvis du ikke allerede har en. Logg deretter inn.

**Trinn 2: Opprett en ny tjeneste**

Etter at du har logget inn, blir du omdirigert til SkySQL-hjemmesiden. Klikk på knappen for å opprette en ny databasetjeneste. Velg en tjenestetype. Du kan velge mellom forskjellige MariaDB-plattformer, inkludert **MariaDB Enterprise Server** og andre databasetjenester.

**Trinn 3: Konfigurer tjenesten**

Konfigurer tjenesten, inkludert valg av MariaDB-versjon, databasekapasitet og andre **ressursparametere**. Du kan også velge alternativer for høy tilgjengelighet og automatisk skalering. Definer autentiserings- og sikkerhetsinnstillingene. Dette inkluderer konfigurering av brukernavn og passord og administrering av tilgang til databasen.

**Trinn 4: Koble til databasen**

Etter at tjenesten er distribuert, vil du motta informasjon om vertsnavn, port, brukernavn og passord. Bruk denne informasjonen til å koble til databasen din. Kjør noen enkle spørringer for å sikre at tjenesten fungerer.

**Trinn 5: Overvåk og administrer databasen**

MariaDB SkySQL tilbyr **overvåkings- og analyseverktøy** for å overvåke ytelsen til databasen din. Bruk disse verktøyene for å sikre at databasen din kjører optimalt. Om nødvendig kan du administrere og skalere databasen din ved å justere ressursparametrene eller aktivere tilleggsfunksjoner.

## Hvordan koble til MariaDB-serveren

Du kan bruke MariaDB-biblioteket for Python til å koble til en MariaDB-database og utføre databaseoperasjoner som å søke, legge inn eller oppdatere data. Installer biblioteket ved hjelp av **pakkehåndtereren** `pip`:

```shell
pip3 install mariadb
```

Nå kan du koble til MariaDB ved hjelp av Python.

### Trinn 1: Opprett en forbindelse

Først må du importere biblioteket og opprette en forbindelse til MariaDB-databasen din. For å gjøre det trenger du informasjon som vertsnavn, port, databasenavn, brukernavn og passord.

```python
import mariadb
# Database connection details
db_config = {
    'user': 'your_username',
    'password': 'your_password',
    'host': 'your_hostname',
    'database': 'your_database',
    'port': 3306  # Standard port for MariaDB
}
# Establishing the connection
conn = mariadb.connect(**db_config)
# Create a cursor to execute queries
cursor = conn.cursor()
```

**Markøren** er et objekt du kan bruke til å utføre databaseoperasjoner i en relasjonsdatabase som MariaDB. Disse operasjonene inkluderer for eksempel SQL-spørringer og databehandling. I Python mottar du en markør etter at du har opprettet en forbindelse til databasen. Du kan hente den ved hjelp av metoden `cursor()`.

### Trinn 2: Spørre data

Nå skal vi bruke markøren til å utføre SQL-spørringer og hente data fra databasen.

```python
# Define the SQL query
sql_query = "SELECT * FROM your_table"
# Execute the query
cursor.execute(sql_query)
# Fetch results
results = cursor.fetchall()
# Display data
for row in results:
    print(row)
```

### Trinn 3: Sett inn data

For å legge inn data i en tabell, definerer du en **SQL INSERT-spørring** og utfører den ved hjelp av markøren.

```python
# Define the SQL insert query
insert_query = "INSERT INTO your_table (column1, column2) VALUES (%s, %s)"
# Values to insert
values = ('value1', 'value2')
# Execute the insert query
cursor.execute(insert_query, values)
# Commit the transaction
conn.commit()
```

SQL INSERT-setningen angir hvilken tabell (`your_table`) og hvilke kolonner (`column1` og `column2`) du legger inn data i. Plassholdere som `%s` står for verdiene som skal legges inn. Tupelen `values` inneholder de tilsvarende verdiene du legger inn i databasen. Markøren utfører **INSERT-spørringen** med verdiene du angir. Til slutt bekrefter metoden `conn.commit()` transaksjonen for å sikre at endringene lagres permanent i databasen.

### Trinn 4: Lukk tilkoblingen

Når databaseoperasjonene er fullført, lukker du markøren og tilkoblingen for å frigjøre ressurser.

```python
# Close cursor and connection
cursor.close()
conn.close()
```

### Trinn 5: Håndter feil

Det er viktig å inkludere feilhåndtering, slik at du kan fange opp eventuelle unntak som oppstår når du oppretter tilkoblingen eller utfører spørringer.

```python
try:
        # Establish the connection
        conn = mariadb.connect(**db_config)
        # Create a cursor
        cursor = conn.cursor()
        # Execute the query
        cursor.execute(sql_query)
        # Fetch results
        results = cursor.fetchall()
        for row in results:
            print(row)
    except mariadb.Error as err:
        print(f"Error: {err}")
    finally:
        # Close cursor and connection
        if cursor:
            cursor.close()
        if conn:
            conn.close()
```

Du kan tilpasse denne grunnleggende strukturen til din spesifikke applikasjon og implementere forskjellige databaseoperasjoner.

Her er hele koden:

```python
import mariadb
# Database connection details
db_config = {
    'user': 'your_username',
    'password': 'your_password',
    'host': 'your_hostname',
    'database': 'your_database',
    'port': 3306  # Standard port for MariaDB
}
try:
    # Establishing the connection
    conn = mariadb.connect(**db_config)
    # Create a cursor to execute queries
    cursor = conn.cursor()
    # Define the SQL query
    sql_query = "SELECT * FROM your_table"
    # Execute the query
    cursor.execute(sql_query)
    # Fetch results
    results = cursor.fetchall()
    # Display data
    for row in results:
        print(row)
    # Define the SQL insert query
    insert_query = "INSERT INTO your_table (column1, column2) VALUES (%s, %s)"
    # Values to insert
    values = ('value1', 'value2')
    # Execute the insert query
    cursor.execute(insert_query, values)
    # Commit the transaction
    conn.commit()
except mariadb.Error as err:
    print(f"Error: {err}")
finally:
    # Close cursor and connection
    if cursor:
        cursor.close()
    if conn:
        conn.close()
```


This is a markdown version of: [https://www.ionos.com/nb-no/digitalguide/nettsteder/webutvikling/python-mariadb/](https://www.ionos.com/nb-no/digitalguide/nettsteder/webutvikling/python-mariadb/) for AI/LLM consumption.