Hyppää sisältöön

Docs CSC now features an automatic Finnish translation. Click here for more information.

Warning!

Puhti and Mahti are being decommissioned in stages, and their storage areas will become fully unavailable from 15 October 2026. Clean up unnecessary files and move any data you need to keep by 31 August 2026. See the Roihu data migration guide for instructions on transferring your data to Roihu.

Puhti scratch is very full: keep only active data there and move or delete everything else. No new Puhti scratch quota will be granted.

MariaDB-instanssin käyttö

MariaDB Pukissa on yhä beetavaiheessa

Tämä tarkoittaa, että sitä ei ole testattu yhtä laajasti kuin PostgreSQL:ää, ja siinä, miten Pukki hallinnoi MariaDB-tietokantainstansseja, saattaa edelleen tapahtua suuria muutoksia.

Graafinen käyttöliittymä

Löydät MariaDB:n kotisivulta ei-kattavan luettelon erilaisista graafisista käyttöliittymistä MariaDB:n käyttöön: MariaDB's homepage.

MariaDB Connectorit

MariaDB Connectoreita käytetään tietokantayhteyksien luomiseen sovelluksista, ja niitä on saatavilla monille suosituille ohjelmointikielille. Lisätietoja niiden käytöstä ja määrityksestä löydät MariaDB:n dokumentaatiosta:

Kiinnitä erityistä huomiota SSL-määrityksiin - koska Pukki sallii MariaDB-instansseihinsa vain SSL-yhteydet, sinun täytyy määrittää siihen liittyvät asetukset.

Komentoriviohjelmat mariadb ja mysql

MariaDB:n dokumentaatio komentoriviohjelmasta

Suositeltu käytettävä CLI-asiakasohjelma on mariadb. mysql-asiakasohjelma toimii edelleen, mutta se on yleensä symbolinen linkki mariadb-ohjelmaan.

Esimerkkikomentoja tietokannan käyttämiseen:

mariadb --ssl --password --host ${PUBLIC_IP} --user ${DATABASE_USER} ${DATABASE_NAME}

tai

mysql --ssl --password --host ${PUBLIC_IP} --user ${DATABASE_USER} ${DATABASE_NAME}
  • --ssl tarkoittaa, että MariaDB-asiakasohjelma muodostaa yhteyden SSL:ää käyttäen. Tämä on välttämätöntä, koska Pukin tietokantainstanssit pakottavat käyttämään salattuja yhteyksiä.
  • --password tarkoittaa, että asiakasohjelma pyytää salasanaa. Voit antaa sen komentorivillä (esimerkiksi --password=password), mutta sitä pidetään tietoturvan kannalta huonona käytäntönä.
  • --host määrittää sen palvelinosoitteen, johon yhdistetään. Pukissa tämä on lähes aina tietokantainstanssisi julkinen IP-osoite.
  • --user määrittää, millä käyttäjällä tietokantaan yhdistetään.
  • ${DATABASE_NAME} määrittää, mihin palvelimen tietokantaan yhdistetään.

Komentorivin käyttö .my.cnf-tiedoston kanssa

Jos yhdistät usein samaan tietokantaan, voi olla hyödyllistä määrittää kotihakemistoosi .my.cnf-asetustiedosto tarvittavien lippujen ja asetusten tallentamista varten.

  1. Luo tyhjä .my.cnf-tiedosto kotihakemistoosi ja rajoita sen käyttöoikeudet:
touch ~/.my.cnf; chmod 600 ~/.my.cnf
  1. Muokkaa asetustiedostoa haluamallasi editorilla ja lisää seuraavat asetukset:
    [client]
    user = your_username
    password = your_password
    host = your_host
    database = your_database
    ssl
    

Koska salasanan tallentamista selväkieliseen tiedostoon ei suositella, voit jättää sen tyhjäksi, jolloin salasanaa kysytään aina yhteyden muodostamisen yhteydessä:

[client]
user = your_user
host = your_database_public_ip
database = your_database
ssl
password

Nykyisen MariaDB-tietokannan vienti

Tietokannan siirtämiseksi sinun on ensin luotava varmuuskopio (eli "dump") nykyisestä MariaDB-instanssistasi. MariaDB tarjoaa mariadb-dump -työkalun, joka vie tietokannan tavalliseen SQL-tiedostoon. Tätä muotoa käytetään yleisesti varmuuskopioihin, migraatioihin ja datan arkistointiin.

Tietokantadumppeja voidaan käyttää datan siirtämiseen pois Pukista tai itsenäisen varmuuskopion säilyttämiseen CSC:n palveluiden ulkopuolella. Tämä voi olla hyödyllinen työkalu varmuuskopiointistrategiasi toteuttamisessa.

Suorita mariadb-dump-komento luodaksesi tietokannastasi SQL-dumpin:

mariadb-dump -h ${PUBLIC_IP} -u ${USERNAME} -p${PASSWORD} --ssl --ssl-verify-server-cert=OFF ${DATABASE_NAME} > database_backup.sql
  • -p${PASSWORD}: Salasana ilman välilyöntiä -p-valitsimen jälkeen. Jos käytät pelkkää -p-valitsinta, mariadb-dump pyytää salasanan interaktiivisesti.
  • --ssl: Ottaa käyttöön salatun yhteyden. Vaaditaan kaikissa Pukin MariaDB-yhteyksissä.
  • --ssl-verify-server-cert=OFF: Tämä valitsin pitää yhteyden salattuna mutta ohittaa varmenteen tarkistuksen. mariadb-dump on tiukempi ja vaatii tämän valitsimen erikseen.
  • database_backup.sql: Tulostiedoston nimi.

Jos haluat dumpata kaikki tietokannat kerralla:

mariadb-dump -h ${PUBLIC_IP} -u ${USERNAME} -p${PASSWORD} --ssl --ssl-verify-server-cert=OFF --all-databases > all_databases_backup.sql
  • --all-databases: Vie kaikki tietokannat, joihin käyttäjällä on käyttöoikeus.

Yleisiä ongelmia CLI-yhteyksissä

ERROR 2002 (HY000): Can't connect to MySQL server on '${PUBLIC_IP}' (115)

Jos salasanakehote tulee näkyviin, mutta asiakasohjelma jää sen jälkeen pitkäksi aikaa yrittämään yhteyden muodostamista, tarkista että host-argumentti on oikein ja että palomuuri sallii yhteydet asiakaslaitteesi osoitteesta.

ERROR 3159 (08004): Connections using insecure transport are prohibited while --require_secure_transport=ON.

Yritit yhdistää tietokantaan ilman --ssl-valitsinta.

ERROR 1045 (28000): Access denied for user 'username'@'yourhostname' (using password: YES)

Joko salasana tai käyttäjätunnus on väärä.

ERROR 1044 (42000): Access denied for user 'username'@'%' to database 'databasename'

Joko määritettyä tietokantaa ei ole olemassa tai määritetyllä käyttäjätunnuksella ei ole siihen käyttöoikeutta.

mariadb-dump: Got error: 2026: "TLS/SSL error: self-signed certificate" when trying to connect.

Pelkkä --ssl-valitsin ei riitä, vaan asiakkaalle on annettava myös --ssl-verify-server-cert=OFF, jotta varmenteen tarkistus ohitetaan.

Pukki MariaDB -tietokannan käyttö Roihusta

Info

Seuraavat ohjeet koskevat myös Puhtia, mutta se poistuu käytöstä kesällä 2026. Käytä sen sijaan Roihua.

  1. Varmista, että tietokantainstanssisi sallii verkkoliikenteen Roihusta.
  2. Kirjaudu Roihuun ssh:lla ja lataa mariadb-moduuli
    module load mariadb
    
  3. Nyt voit yhdistää tietokantaan mariadb-asiakasohjelmalla

Hyödyllisiä SQL-komentoja

Listaa tietokannat

SHOW DATABASES;

Listaa taulut

SHOW TABLES;

Näytä taulujen kuvaukset

DESCRIBE $table_name;

Vaihda tietokantaa

USE DATABASE $database_name;

Esimerkkikysely

SELECT * FROM $table_name LIMIT 1;

Näytä kaikki tietokannan asetukset

SHOW VARIABLES;

tai jos haluat näyttää vain osajoukon, voit käyttää LIKE-ehtoa

SHOW VARIABLES LIKE 'innodb%';
Huomaa, että % tarkoittaa tässä jokerimerkkiä - tämä listaa kaikki muuttujat, jotka alkavat merkkijonolla innodb.

Tuo tietokantadumppi

cat your_database_dump.sql | mariadb

Suomenkielinen tekoälykäännös

Sisällössä voi esiintyä virheellistä tietoa tekoälykäännöksestä johtuen.

Klikkaa tästä antaaksesi palautetta