Virallinen ohje MySQL-palvelimen asentaminen palvelimelle (MariaDB)

Saatat tarvita MySQL-tietokantoja erilaisten verkkosivusovellusten käyttämiseen, kuten esimerkiksi WordPress. Tässä asennusohjeessa asennamme MariaDB:n, eli täysin MySQL:ää vastaavan palvelinohjelmiston.

Jos olet juuri ostanut palvelimesi, käy lukemassa tämä ohje ennen tämän ohjeen noudattamista: Pikaohjeet virtuaalipalvelimen käyttöön

1. Päivitetään apt-lista​

Bash:
apt update

Halutessasi voit päivittää myös palvelimen ohjelmistot:
Bash:
apt upgrade

2. Asennetaan MariaDB​

Koodi:
apt install mariadb-server

3. Ajetaan MySQL:n tietoturva-asennus​

Suosittelemme vastaamaan kysymyksiin seuraavasti:
mysql_secure_installation

root@speek:~# mysql_secure_installation

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user. If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none):
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.

You already have a root password set, so you can safely answer 'n'.

[Jos sinulla ei ole root-salasanaa, se kannattaa asettaa vastaamalla Y:]
Change the root password? [Y/n]
N
... skipping.

By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] Y
... Success!

Normally, root should only be allowed to connect from 'localhost'. This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] Y
... Success!

By default, MariaDB comes with a database named 'test' that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] Y
- Dropping test database...
... Success!
- Removing privileges on test database...
... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] Y
... Success!

Cleaning up...

All done! If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

Nyt MySQL on asennettu onnistuneesti. Voit käyttää nyt MySQL:ää kirjoittamalla konsoliin komennon mysql. Tietokantaan ei kuitenkaan pääse vielä muualta. Jos haluat lisätä tietokannan ja käyttäjän esim. WordPressille, jatka ohjeen seuraamista.

4. Tietokannan lisääminen​

Siirry ensin MySQL-konsoliin komennolla:
Bash:
sudo mysql

Ja lisätään tietokanta "wordpress". Voit lisätä myös muun nimisen tietokannan samaan tapaan.
SQL:
CREATE USER 'wordpress';

Voit poistua MySQL-konsolista komennolla quit tai painamalla Ctrl + C

5. Käyttäjän lisääminen​

MySQL:ssä sinun tulee luoda käyttäjä, jolla voit selata tietokantoja. Suosittelemme, että teet jokaiselle tietokannalle ja eri tarpeeseen eri käyttäjän. Huomioithan, että käyttäjän IP-osoite määritellään oikeuksiltaan eri käyttäjäksi.

Palaa takaisin MySQL-konsoliin komennolla:
Bash:
sudo mysql

Tässä luodaan käyttäjä "wordpress". Voit lisätä toisen käyttäjän samaan tapaan. Kirjoita salasanan kohdalle oikeasti turvallinen salasana. Turvallisessa salasanassa on erikokoisia kirjaimia, numeroita ja erikoismerkkejä. Et kuitenkaan voi käyttää '-merkkiä.
SQL:
CREATE USER 'wordpress'@'localhost' IDENTIFIED BY 'turvallinnen salasana';

Voit poistua MySQL-konsolista komennolla quit tai painamalla Ctrl + C

6. Oikeuksien lisääminen käyttäjälle​

Jotta käyttäjä voi tehdä yhtään mitään MySQL-palvelimella, sille tarvitsee lisätä oikeuksia. Voit lisätä niitä vain vähän kerrallaan. Mitä vähemmän lisäät oikeuksia käyttäjälle, sitä parempi tietoturva palvelimella on.

Komennot suopritetaan MySQL-konsolissa:
Koodi:
sudo mysql

Kaikkien yleisten oikeuksien antaminen yhteen tietokantaan:
SQL:
GRANT ALL PRIVILEGES ON 'wordpress'.* TO 'wordpress'@'localhost';

Kaikkien yleisten oikeuksien antaminen yhteen tietokantaan ja vain tiettyyn tauluun [harvemmin käytetty]:
SQL:
GRANT ALL PRIVILEGES ON 'wordpress'.'wp_posts' TO 'wordpress'@'localhost';

Suosittelemme lisäämään seuraavat oikeudet vain tietyllä käyttäjän IP-osoitteella ja vain, kuin todella tarvitset oikeuksia näin paljon. Tarvittaessa voit lisätä useamman käyttäjän samoilla oikeuksilla ja eri IP-osotteilla.

Kaikkien yleisten oikeuksien antaminen kaikkiin tietokantoihin (korvaa IP käyttäjän IP-osoitteella):
SQL:
GRANT ALL PRIVILEGES ON *.* TO 'käyttäjä'@'IP';

Root-oikeuksien lisääminen käyttäjälle:
SQL:
GRANT ALL PRIVILEGES ON *.* TO 'käyttäjä'@'IP' WITH GRANT OPTION;

Voit poistua MySQL-konsolista komennolla quit tai painamalla Ctrl + C

7. Yhteyden luonti ulkoverkosta​

Jotta palvelimeen voi ottaa yhteyttä ulkoverkosta, sinun tulee käydä muokkaamassa palvelimen bind-address. Oletuksena palvelimelle voi ottaa yhteyttä vain palvelimella itsellään, eli osoitteella "localhost" tai "172.0.0.1".

Avataan tiedosto muokkaimessa:
Bash:
sudo nano /etc/mysql/my.cnf

Ja lisätään seuraava koodi tiedoston loppuun:
my.cnf:
[mysqld]
bind-address            = 0.0.0.0

Tallenetaan painamalla näppäimiä Ctrl + X ja seuraavaksi Y ja Enter.

Seuraavaksi käynnistämme MySQL-palvelimen uudelleen, jotta asetukset tallentuvat:
Bash:
sudo systemctl restart mariadb
 
Viimeksi muokattu:
  • Like
Reaktiot: Suomifin