Virtuaalipalvelin: MySQL (osa 3)

 

 

Tietokanta on monen eri toiminnan ydin. Sitä tarvitaan näkyvässä osassa esimerkiksi rakentamaan WordPress-sivut. Mutta se vastaa konepelin alla myös järjestelmän toiminnasta. Voit asentaa minkä tietokannan tahansa, ja lopputuloksen kannalta ne ovat hyvin samankaltaisia. Sen sijaan nopeuksissa on eroja, myös minkälaisia ympäristöissä niitä käytetään. Jos sinulla on erikoistarpeita, niin tiedät minkä asennat. Ns. tavallisessa käytössä sinulla on vain kaksi vaihtoehtoa: MySQL ja MariaDB. Aidosti vaihtohdot ovat enemmänkin poliittisia, koska nuo ovat aidosti sama asia. Alustana on DigitalOceanin droplet ja Ubuntu 19.04.

Muinaishistoriassa 1990-luvulla vaihtoehtoja oli Microsoftin SQL sekä Oracle. Molemmat olivat kalliita ja rajoitettuja. 1995 julkaistiin open source vaihtoehto, ilmaiseksi, jonka nimi oli MySQL. Hetken kuluttua se oli ohitti teollisuusjättiläiset ja kattaa nykyään noin puolet maailman tietokannoista. Sitten Sun Microsystems osti MySQL:n. Hetken kuluttua Oracle, joka oli maailman johtava kaupallinem tietokantatoimittaja, osti Sun Microsystemsin ja sai itselleen MySQL:n. Jos puhutaan markkinoiden keskittymisestä, niin tässä on yksi sellainen: maailman suurin kaupallinen tietokantayritys omistaa maailman suurimman vapaan tietokantajärjestelmän. Tilanne on sama kuin jos Microsoft ostaisi Linuxit.

Tuo aiheutti pelkotiloja ja kaikki olivat varmoja, että Oracle joko kuristaisi tai rajoittaisi MySQL:ää saadakseen siirrettyä käyttäjiä maksullisen järjestelmän puolelle. MySQL:n tekijät rakensivat forkin, muokkauksen tai puukotuksen, korvaamaan MySQL. Se julkaistiin 2010 ja sai nimen MariaDB.

Aidosti MariaDB on MySQL – mutta hieman viritetympänä. Se taasen näkyy hieman parempana nopeutena, väittävät. Itse en ole huomannut eroa.

Koska MariaDB on MySQL, niin se näkyy yhdessä toisessakin asiassa. Kaikki komennot ja muukin toiminta on samanlaista, joten MySQL-esimerkit toimivat suoraan – aina komentoja myöten.

Sinulla on asennushommissa kolme vaihtoehtoa:

  • asentaa ja käyttää MySQL:ää
  • asentaa ja käyttää MariaDB:tä
  • asentaa MySQL, muuttaa se MariaDB:ksi ja käyttää sitä

Itse olen tehnyt vain ensimmäisen ja viimeisen, joten asentaa suoraan MariaDB ei ole itse testattu tapa, vaan netistä kopioitu.

Teki minkä tahansa, niin tällä aloitetaan:

apt update

Puhdas MySQL

MySQL:n asennus on kovin suoraviivainen

 apt install mysql-server

MariaDB:n asennus

MariaDB asennetaan periaatteessa aivan samalla tavalla

apt install mariadb-server

You have held broken packages

Ja nyt siirrytään periaattesta käytäntöön. Kirjoituspäivämäärällä DigitalOceanin Ubuntu 19.04 tarjoamissa paketeissa ei ollut MariaDB:tä, vaikka olisi pitänyt. Siitä tuli virheilmoitus. Joten siirrytään suunnitelmaan B.

Mene sivulle https://downloads.mariadb.org/mariadb/repositories/

Valitse haluamasi linux-jakelu, versio ja mistä haluat MariaDB:n ladattavan. Sivun alaosassa on silloin ohjeet miten sen asennat. Lyhyesti: kerrot järjestelmälle mistä se löytää sellaisen paketin, jossa on MariaDB.

Itse käytin Ubuntu 19.04:lle MariaDB:n version 10.4 asentamiseen DigitalOcean New Yorkin tarjoamasta paketista tällä tavalla:

Tämä sinulla varmaan on jo asennettuna, mutta varmistetaan:

apt install software-properties-common

Asennetaan repo, josta paketti saadaan:

apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
add-apt-repository 'deb [arch=amd64] http://nyc2.mirrors.digitalocean.com/mariadb/repo/10.4/ubuntu disco main'
apt update

mahdollisesti kannattaa tehdä päivitys, jos sitä tarjotaan

apt dist-upgrade

ja asennetaan

apt install mariadb-server

MySQL ja MariaDB asettaminen

Laitan niin MySQL:n kuin MariaDB:n samaan, koska ne tehdään tismalleen samoin. Asettaminen käynnistetään komennolla:

mysql_secure_installation

Sinulta kysytään määrättyjä asetuksia, niihin kelpaa aika pitkälle oletukset:

  • Set root password – aseta rootin salasana; älä käytä samaa kuin muihin kirjautumiseen, mutta valitse sellainen, jonka muistat. Me tavalliset kuolevaiset tupataan kirjoittamaan nämä muistiin.
    Kun shellissä scripti kysyy jotain, niin usein on merkitty mahdolliset vaihtoehdot näkyviin. Kuten Set root password? [Y/n] hyväksyy y eli yes/kyllä ja n kuin no/ei. Oletusvaihtoehto on merkitty isolla kirjaimella ja se tulee käyttöön pelkällä enterillä.
  • Remove anonymous users – poistetaanko tuntemattomat käyttäjät; en tiedä mistä niitä olisi tullut, mutta vastaa Y eli kyllä.
  • Disallow root login remotely – kiellä rootin kirjautuminen etänä; vastaa Y eli kyllä, estetään.
  • Remove test database and access to it – poistetaanko testikamat; Y eli kyllä poistetaan
  • Reload privilege tables now – varmistetaan, että käyttäjien oikeudet on oikein; Y eli kyllä

Varmistetaan onko salasana käytössä tietokantaan kirjauduttaessa:

mysql -u root

Jos pääsit sisälle, niin salasanakysely on pakotettava.

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'salasana';

Muuta salasana haluamaksesi ennen kuin painat enteriä. Käytä sitä minkä annoit edellisessä vaiheessa tai vaihda uuteen.

Otetaan uudet säännöt käyttöön.

flush privileges;

Pääset MySQL:stä pois:

exit;

Kokeile pääsetkö kirjautumaan ilman salasanaa:

mysql -u root

Saanet virheilmoituksen, joten kokeillaan salasanan kanssa:

mysql -u root -p

Sinulta kysytään salasanaa ja oikealla pääset sisälle.

Voit antaa salasanan myös -p lipun yhteydessä näin -psalasana mutta se ei ole todellakaan suositeltavaa – silloin jätät salasanan näkyviin mm. bashin muistiin (tiesithän, että voit selata antamiasi komentoja kursorinpääimillä, ylös ja alas?)

Päivitys MySQL:stä MariaDB:hen

Harvempi päivitys on yhtä helppo.

Pysäytä ensin MySQL.

systemctl stop mysql

Asenna MariaDB.

apt install mariadb-server

Jos sitä ei löytynyt, niin te alussa olevan asennuksen ”plan B” mukaan.

Asennuksen jälkeen käynnistä MariaDB.

systemctl start mysql

Se oli siinä.

Koko artikkelisarja

<sarja on vielä kesken>

 

 

Oliko tästä apua?

Klikkaa tähtiä antaaksesi arvion!

Keskimäärin / 5. Yhteensä

Kiitos!

Hitto etten onnistunut.

Auta parantamaan tätä ja tulevia!