Hyppää sisältöön

MariaDB-instanssisi käyttäminen

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-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.

Komentoriviasiakas mariadb ja mysql

MariaDB's documentation on the command-line client

Suositeltu käytettävä CLI-asiakas on mariadb. mysql-asiakas toimii edelleen, mutta 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-asiakas muodostaa yhteyden SSL:ää käyttäen. Tämä on välttämätöntä, koska Pukin tietokantainstanssit pakottavat salatut yhteydet.
  • --password tarkoittaa, että asiakas 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 yhteyden muodostamisen yhteydessä:

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

Nykyisen MariaDB-tietokantasi 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 asiakas 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 asiakkaasi 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 asiakkaalle on annettava myös --ssl-verify-server-cert=OFF, jotta varmenteen tarkistus ohitetaan.

Pukki MariaDB -tietokantasi käyttäminen Roihusta

  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 tietokanta-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

Onko tämä sivu hyödyllinen?
Kiitos palautteestasi!
Kiitos! Arvostamme palautettasi.

Kerro meille miten voisimme parantaa tätä sivua ottamalla meihin yhteyttä .