# Sådan forbinder du MariaDB med Python

Du kan bruge Python og MariaDB til effektivt **at forbinde en database** med applikationer og behandle information. Kombinationen af Python og MariaDB er særligt velegnet til webapps, dataanalyse og automatisering af rapporter.

## Hvad er forudsætningerne?

Du skal opfylde følgende krav for at forbinde Python-programmer med MariaDB:

- **Python-installationer**: Du skal have Python installeret på dit system. Sørg for, at du bruger en version, der understøttes af MariaDB.
- **MariaDB-database**: Du skal have en funktionel MariaDB-database. Du kan enten bruge en lokal MariaDB-installation eller oprette en forbindelse til en fjern database.
- **Databaseadgangsdata**: Du skal bruge oplysninger som værtsnavn, port, databasenavn, brugernavn og adgangskode for at oprette forbindelse til MariaDB-databasen.
- **Python-modul**: Python/Connector-modulet til oprettelse af forbindelse til MariaDB skal være installeret.

## Sådan forberedes og installeres MariaDB med Python

Der er to muligheder for at få adgang til en MariaDB-server. Du kan enten installere en MariaDB-server på din egen computer eller server eller bruge MariaDB-platformen i skyen.

### Mulighed 1: Installer MariaDB på hardware

Det er ganske enkelt at downloade og installere **MariaDB-pakken** på din egen hardware. Her er en trinvis vejledning:

**Trin 1: Kontroller systemkravene**

Kontroller kravene til installation af MariaDB på dit system. Sørg for, at din hardware opfylder minimumskravene, såsom tilstrækkelig diskplads og hukommelse.

**Trin 2: Download MariaDB**

Gå til MariaDB’s officielle hjemmeside og vælg download til dit operativsystem (Windows, Linux eller macOS). Sørg for at vælge den rigtige version til dit system.

**Trin 3: Installer pakken**

Download pakken til dit operativsystem og din arkitektur (32 bit eller 64 bit). Når downloadet er færdigt, skal du køre installationen. Installationen starter forskelligt på forskellige operativsystemer. For eksempel skal du indtaste kommandoen `sudo apt install mariadb-server` for [at installere MariaDB på Ubuntu 20.04](https://www.ionos.com/da-dk/digitalguide/hosting/tekniske-spoergsmaal/installer-mariadb-paa-ubuntu-2004/).

**Trin 4: Konfigurer databasen**

Nu skal du konfigurere MariaDB-serveren. Dette omfatter angivelse af adgangsdata, sikkerhedsindstillinger og andre databaseparametre.

**Trin 5: Start MariaDB**

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

**Trin 6: Udfør den indledende konfiguration**

Efter at have startet MariaDB skal du konfigurere det ved hjælp af kommandoen `mysql_secure_installation`. Kommandoen hjælper dig med at definere vigtige sikkerhedsindstillinger som adgangskoder og sletning af testkonti.

**Trin 7: Test databaseadgang**

Kontroller, om du kan oprette forbindelse til databasen. Log ind som root-bruger med `mysql -u root -p`. Indtast din adgangskode, og kør nogle enkle SQL-forespørgsler for at sikre, at serveren fungerer korrekt.

### Mulighed 2: Brug MariaDB SkySQL

MariaDB SkySQL er en **cloudbaseret databaseplatform**, som du kan bruge til at køre MariaDB-databaser i skyen. Platformen omfatter MariaDB Enterprise Server og tilbyder automatisk skalering, høj tilgængelighed og integrerede sikkerhedsfunktioner.

**Trin 1: Registrer dig og log ind**

Gå til den officielle MariaDB SkySQL-webside og opret en konto, hvis du ikke allerede har en. Log derefter ind.

**Trin 2: Opret en ny tjeneste**

Når du har logget ind, bliver du omdirigeret til SkySQL-hjemmesiden. Klik på knappen for at oprette en ny databasetjeneste. Vælg en tjenestetype. Du kan vælge mellem forskellige MariaDB-platforme, herunder **MariaDB Enterprise Server** og andre databasetjenester.

**Trin 3: Konfigurer tjenesten**

Konfigurer tjenesten, herunder valg af MariaDB-version, databasekapacitet og andre **ressourceparametre**. Du kan også vælge muligheder for høj tilgængelighed og automatisk skalering. Definer indstillingerne for godkendelse og sikkerhed. Det omfatter konfiguration af brugernavne og adgangskoder samt administration af adgangen til databasen.

**Trin 4: Opret forbindelse til databasen**

Når tjenesten er blevet implementeret, modtager du oplysninger om værtsnavn, port, brugernavn og adgangskode. Brug disse oplysninger til at oprette forbindelse til din database. Kør nogle enkle forespørgsler for at sikre, at tjenesten fungerer.

**Trin 5: Overvåg og administrer databasen**

MariaDB SkySQL tilbyder **overvågnings- og analyseværktøjer** til overvågning af din databases ydeevne. Brug disse værktøjer til at sikre, at din database kører optimalt. Om nødvendigt kan du administrere og skalere din database ved at justere dine ressourceparametre eller aktivere yderligere funktioner.

## Sådan opretter du forbindelse til MariaDB-serveren

Du kan bruge MariaDB-biblioteket til Python til at oprette forbindelse til en MariaDB-database og udføre databaseoperationer som forespørgsler, indsættelse eller opdatering af data. Installer biblioteket ved hjælp af **pakkehåndteringen** `pip`:

```shell
pip3 install mariadb
```

Nu kan du oprette forbindelse til MariaDB ved hjælp af Python.

### Trin 1: Opret en forbindelse

Først skal du importere biblioteket og oprette en forbindelse til din MariaDB-database. For at gøre det skal du bruge oplysninger som værtsnavn, port, databasenavn, brugernavn og adgangskode.

```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()
```

**Cursoren** er et objekt, du kan bruge til at udføre databaseoperationer i en relationsdatabase som MariaDB. Disse operationer omfatter for eksempel SQL-forespørgsler og databehandling. I Python modtager du en cursor, når du har oprettet en forbindelse til databasen. Du kan hente den ved hjælp af metoden `cursor()`.

### Trin 2: Forespørg data

Nu bruger vi markøren til at udføre SQL-forespørgsler 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)
```

### Trin 3: Indsæt data

For at indsætte data i en tabel skal du definere en **SQL INSERT-forespørgsel** og udføre den ved hjælp af 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-sætningen angiver, hvilken tabel (`your_table`) og hvilke kolonner (`column1` og `column2`) du indsætter data i. Pladsholdere som `%s` står for de værdier, der vil blive indsat. Tupelen `values` indeholder de tilsvarende værdier, som du indtaster i databasen. Markøren udfører **INSERT-forespørgslen** med de værdier, du angiver. Endelig bekræfter metoden `conn.commit()` transaktionen for at sikre, at ændringerne gemmes permanent i databasen.

### Trin 4: Luk forbindelsen

Når databaseoperationerne er afsluttet, skal du lukke markøren og forbindelsen for at frigøre ressourcer.

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

### Trin 5: Håndter fejl

Det er vigtigt at inkludere fejlhåndtering, så du kan fange eventuelle undtagelser, der opstår, når forbindelsen oprettes eller forespørgsler udføres.

```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 grundlæggende struktur til din specifikke anvendelse og implementere forskellige databaseoperationer.

Her er den fulde kode:

```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/da-dk/digitalguide/websteder/webudvikling/python-mariadb/](https://www.ionos.com/da-dk/digitalguide/websteder/webudvikling/python-mariadb/) for AI/LLM consumption.