Hyppää sisältöön

Welcome to our weekly research support coffee hour on Zoom! Click here for more information.

Warning!

Puhti scratch disk is becoming very full (80+ % ) resulting in performance degradation. Everybody is advised to only keep actively processed data on scratch, all other data should be deleted, transferred to host institute or stored in Lumi-O. No new quota will be granted. Click here for a tool for examining your disk usage.

MariaDB-instanssin käyttö

MariaDB Pukissa on edelleen 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-liittimet

MariaDB-liittimiä käytetään tietokantayhteyksien luomiseen sovelluksista, ja niitä on saatavilla monille suosituille ohjelmointikielille. Lisätietoja niiden käytöstä ja määrityksistä 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.

Komentoriviasiakas mariadb ja mysql

MariaDB:n dokumentaatio komentoriviasiakkaasta

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

Esimerkkikomentoja tietokantaan 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-asiakas 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ää 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 yhdistettäessä:

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

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 jumiin yhdistämään, 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.

Pukki-MariaDB-tietokannan käyttö Puhdista

  1. Varmista, että tietokantainstanssisi sallii verkkoliikenteen Puhdista.
  2. Kirjaudu Puhdille 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 tietokanta-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 tietokantavedos

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