Hyppää sisältöön

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

Warning!

Puhti and Mahti will be decommissioned after Roihu becomes available. Users should clean up unnecessary files and move any required data by the end of August 2026. See the Roihu data preparation instructions for details.

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

Pääsy MariaDB-instanssiisi

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 ei-kattavan luettelon erilaisista graafisista käyttöliittymistä MariaDB:n käyttöön MariaDB:n kotisivulta.

MariaDB-liittimet

MariaDB-liittimiä 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 tietokantaasi yhdistä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 määrittää sen komentorivillä (esimerkiksi --password=password), mutta sitä pidetään tietoturvan kannalta huonona käytäntönä.
  • --host määrittää 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

Vie nykyinen MariaDB-tietokantasi

Tietokannan siirtämiseksi sinun on ensin luotava varmuuskopio (tai "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, joka auttaa sinua toteuttamaan varmuuskopiointistrategiasi.

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:n 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 pääsy.

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, sinun kannattaa tarkistaa uudelleen, että host-argumentti on oikein ja että palomuuri sallii yhteydet asiakasohjelmasi 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 salasanasi tai käyttäjänimesi 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änimellä 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 sinun täytyy antaa asiakasohjelmalle --ssl-verify-server-cert=OFF, jotta varmenteen tarkistus ohitetaan.

Pukki MariaDB -tietokantasi käyttäminen Puhdista

  1. Varmista, että tietokantainstanssisi sallii verkkoliikenteen Puhdista.
  2. Yhdistä ssh:lla Puhtiin 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ää 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