Német Krisztián

MySQL 8 adatbázis telepítése Rocky Linux 9 linux rendszeren
A MySQL adatbázis-kiszolgáló legújabb, 8.0-s verziója telepíthető az alapértelmezett Rocky Linux 9 tárolókból.

A MySQL a legnépszerűbb nyílt forráskódú relációs adatbázis-kezelő rendszer.

A MySQL adatbázis-kiszolgáló legújabb, 8.0-s verziója telepíthető az alapértelmezett Rocky Linux 9 tárolókból.

A MySQL 8.0 számos új funkciót és változtatást vezetett be, amelyek miatt egyes alkalmazások nem kompatibilisek ezzel a verzióval. Mielőtt kiválasztod a MySQL-verziót a telepítéshez, olvasd el a telepíteni kívánt alkalmazás dokumentációját.

A Rocky Linux 9 a MariaDB 10.5-öt is biztosítja, amely a MySQL 8.0 tudásának felel meg, bizonyos korlátozásokkal. (Itt a lista miben térnek el.) Ha az alkalmazás nem kompatibilis a MySQL 8.0-val, telepítsd inkább a MariaDB 10.5-at. (A verziókról még annyit, hogy a Mysql 5.7 után egyból 8.0 jött és a két kiadás között eltelt közel 3 év.)

Ebben az oktatóanyagban bemutatjuk, hogyan telepítheted és teheted biztonságossá a MySQL 8.0-t Rocky Linux 8 linux rendszeren.

A MySQL 8.0 telepítése Rocky Linux 9 linux rendszeren

A telepítést root-ként kell elvégezni:

dnf install mysql-server -y
Installing:
 mysql-server                 x86_64   8.0.30-3.el9_0         appstream    17 M
Installing dependencies:
 libaio                       x86_64   0.3.111-13.el9         baseos       23 k
 mariadb-connector-c-config   noarch   3.2.6-1.el9_0          appstream   9.8 k
 mecab                        x86_64   0.996-3.el9.3          appstream   347 k
 mysql                        x86_64   8.0.30-3.el9_0         appstream   2.8 M
 mysql-common                 x86_64   8.0.30-3.el9_0         appstream    70 k
 mysql-errmsg                 x86_64   8.0.30-3.el9_0         appstream   476 k
 mysql-selinux                noarch   1.0.5-1.el9_0          appstream    35 k
 perl-AutoLoader              noarch   5.74-479.el9           appstream    30 k
 perl-B                       x86_64   1.80-479.el9           appstream   188 k
 perl-Carp                    noarch   1.50-460.el9           appstream    29 k
 perl-Class-Struct            noarch   0.66-479.el9           appstream    31 k
 perl-Data-Dumper             x86_64   2.174-462.el9          appstream    55 k
 perl-Digest                  noarch   1.19-4.el9             appstream    25 k
 perl-Digest-MD5              x86_64   2.58-4.el9             appstream    36 k
 perl-Encode                  x86_64   4:3.08-462.el9         appstream   1.7 M
 perl-Errno                   x86_64   1.30-479.el9           appstream    24 k
 perl-Exporter                noarch   5.74-461.el9           appstream    31 k
 perl-Fcntl                   x86_64   1.13-479.el9           appstream    29 k
 perl-File-Basename           noarch   2.85-479.el9           appstream    26 k
 perl-File-Path               noarch   2.18-4.el9             appstream    35 k
 perl-File-Temp               noarch   1:0.231.100-4.el9      appstream    59 k
 perl-File-stat               noarch   1.09-479.el9           appstream    26 k
 perl-FileHandle              noarch   2.03-479.el9           appstream    24 k
 perl-Getopt-Long             noarch   1:2.52-4.el9           appstream    60 k
 perl-Getopt-Std              noarch   1.12-479.el9           appstream    24 k
 perl-HTTP-Tiny               noarch   0.076-460.el9          appstream    54 k
 perl-IO                      x86_64   1.43-479.el9           appstream    95 k
 perl-IO-Socket-IP            noarch   0.41-5.el9             appstream    42 k
 perl-IPC-Open3               noarch   1.21-479.el9           appstream    31 k
 perl-MIME-Base64             x86_64   3.16-4.el9             appstream    30 k
 perl-Net-SSLeay              x86_64   1.92-2.el9             appstream   365 k
 perl-POSIX                   x86_64   1.94-479.el9           appstream   105 k
 perl-PathTools               x86_64   3.78-461.el9           appstream    85 k
 perl-Pod-Escapes             noarch   1:1.07-460.el9         appstream    20 k
 perl-Pod-Perldoc             noarch   3.28.01-461.el9        appstream    83 k
 perl-Pod-Simple              noarch   1:3.42-4.el9           appstream   215 k
 perl-Pod-Usage               noarch   4:2.01-4.el9           appstream    40 k
 perl-Scalar-List-Utils       x86_64   4:1.56-461.el9         appstream    71 k
 perl-SelectSaver             noarch   1.02-479.el9           appstream    20 k
 perl-Socket                  x86_64   4:2.031-4.el9          appstream    54 k
 perl-Storable                x86_64   1:3.21-460.el9         appstream    95 k
 perl-Symbol                  noarch   1.08-479.el9           appstream    23 k
 perl-Term-ANSIColor          noarch   5.01-461.el9           appstream    48 k
 perl-Term-Cap                noarch   1.17-460.el9           appstream    22 k
 perl-Text-ParseWords         noarch   3.30-460.el9           appstream    16 k
 perl-Text-Tabs+Wrap          noarch   2013.0523-460.el9      appstream    23 k
perl-Time-Local              noarch   2:1.300-7.el9          appstream    33 k
 perl-URI                     noarch   5.09-3.el9             appstream   108 k
 perl-base                    noarch   2.27-479.el9           appstream    25 k
 perl-constant                noarch   1.33-461.el9           appstream    23 k
 perl-if                      noarch   0.60.800-479.el9       appstream    23 k
 perl-interpreter             x86_64   4:5.32.1-479.el9       appstream    80 k
 perl-libnet                  noarch   3.13-4.el9             appstream   125 k
 perl-libs                    x86_64   4:5.32.1-479.el9       appstream   2.0 M
 perl-mro                     x86_64   1.23-479.el9           appstream    37 k
 perl-overload                noarch   1.31-479.el9           appstream    54 k
 perl-overloading             noarch   0.02-479.el9           appstream    21 k
 perl-parent                  noarch   1:0.238-460.el9        appstream    14 k
 perl-podlators               noarch   1:4.14-460.el9         appstream   112 k
 perl-subs                    noarch   1.03-479.el9           appstream    20 k
 perl-vars                    noarch   1.05-479.el9           appstream    22 k
 protobuf-lite                x86_64   3.14.0-13.el9          appstream   231 k
Installing weak dependencies:
 perl-IO-Socket-SSL           noarch   2.073-1.el9            appstream   217 k
 perl-Mozilla-CA              noarch   20200520-6.el9         appstream    12 k
 perl-NDBM_File               x86_64   1.15-479.el9           appstream    31 k

Transaction Summary
================================================================================
Install  66 Packages

Total download size: 27 M
Installed size: 203 M

Nekem itt elég sok perl csomagot feltesz, mert egy friss gép, de a lényeg, hogy az elején lévő mysql csomagok legyenek benne. A telepítés befejezése után indítsd el a MySQL szolgáltatást, és engedélyezd az automatikus indulást rendszerindításkor a következő parancs futtatásával:

systemctl enable --now mysqld

A futás ellenőrzéséhez a következő parancsot kell beírni:

systemctl status mysqld

És valami ilyesmi kimentenek kell megjelennie:

● mysqld.service - MySQL 8.0 database server
     Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
     Active: active (running) since Sat 2023-01-07 23:08:36 UTC; 9s ago
    Process: 3129 ExecStartPre=/usr/libexec/mysql-check-socket (code=exited, status=0/SUCCESS)
    Process: 3151 ExecStartPre=/usr/libexec/mysql-prepare-db-dir mysqld.service (code=exited, status=0/SUCCESS)
   Main PID: 3230 (mysqld)
     Status: "Server is operational"
      Tasks: 39 (limit: 4443)
     Memory: 382.9M
        CPU: 5.501s
     CGroup: /system.slice/mysqld.service
             └─3230 /usr/libexec/mysqld --basedir=/usr

A MySQL adatbázis biztonságossá tétele

Futtasd a mysql_secure_installation szkriptet, amely számos biztonsággal kapcsolatos műveletet hajt végre, és beállítja a MySQL root jelszót:

mysql_secure_installation

Ez egy sor kérdést tesz fel, hogy szeretne-e bizonyos változtatásokat végrehajtani a MySQL adatbázis biztonsági beállításain. Az első kérdés a Validate Password Plugin beállítására vonatkozik, amellyel ellenőrizheti a MySQL jelszavának erősségét.

Ha úgy dönt, hogy beállítja a Validate Password Plugin-t , a szkript megkéri, hogy válassza ki a jelszó nehézségi szintjét. A legerősebb szint – amelyet a 2 beírásával választhat – megköveteli, hogy a jelszó legalább nyolc karakter hosszú legyen, és tartalmazzon nagy- és kisbetűket, numerikus és speciális karaktereket:

Securing the MySQL server deployment.

Connecting to MySQL using a blank password.

VALIDATE PASSWORD COMPONENT can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD component?

Press y|Y for Yes, any other key for No: Y

There are three levels of password validation policy:

LOW    Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary                  file
Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 2

Függetlenül attól, hogy a Validate Password Plugin beállítását választja-e, a következő kérés a MySQL root felhasználó jelszavának beállítása lesz. Írja be, majd erősítse meg az Ön által választott biztonságos jelszót:

Please set the password for root here.

New password:

Re-enter new password:

Ha a Validate Password Plugin-t használta, visszajelzést kap az új jelszó erősségéről. Ezután a szkript megkérdezi, hogy az imént megadott jelszóval akarja-e folytatni, vagy új jelszót szeretne megadni. Feltételezve, hogy elégedett az imént megadott jelszó erősségével, írjon be Y-t a szkript folytatásához:

Estimated strength of the password: 100
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : Y

Ezt követően nyomja meg az Y, majd az ENTER billentyűt az összes további kérdés alapértelmezett beállításának elfogadásához. Ezáltal eltávolít néhány anonymus felhasználót és a tesztadatbázist, letiltja a távoli root bejelentkezéseket, és betölti ezeket az új szabályokat, így a MySQL azonnal érvényesíti az elvégzett módosításokat.

By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL 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? (Press y|Y for Yes, any other key for No) : 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? (Press y|Y for Yes, any other key for No) : Y
Success.

By default, MySQL 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? (Press y|Y for Yes, any other key for No) : 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? (Press y|Y for Yes, any other key for No) : Y
Success.

All done!

A mysqladmin eszközzel ellenőrizheti a telepítést, és információkat kaphat róla. A következő paranccsal csatlakozhat a MySQL-hez root felhasználóként (-u root), jelszó bekérése (-p):

mysqladmin -u root -p version

Ehhez hasonló kimenetet kell majd látni:

mysqladmin  Ver 8.0.30 for Linux on x86_64 (Source distribution)
Copyright (c) 2000, 2022, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Server version          8.0.30
Protocol version        10
Connection              Localhost via UNIX socket
UNIX socket             /var/lib/mysql/mysql.sock
Uptime:                 21 min 5 sec

Threads: 2  Questions: 14  Slow queries: 0  Opens: 133  Flush tables: 3  Open tables: 49  Queries per second avg: 0.011

Ez azt jelzi, hogy a telepítés sikeres volt.

Ha csatlakozni szeretne a MySQL-hez és elkezdeni az adatok hozzáadását, futtassa a következőt:

mysql -u root -p

Az előző mysqladmin parancshoz hasonlóan ez a parancs is tartalmazza a -u opciót, amely lehetővé teszi, hogy megadjuk a felhasználót, akit szeretnénk csatlakoztatni (ebben az esetben root), valamint a -p opciót, amely azt mondja a parancsnak, hogy kérje el az előző lépésben beállított felhasználói jelszót.

Miután megadta a root MySQL felhasználó jelszavát, megjelenik a MySQL prompt:

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 11
Server version: 8.0.30 Source distribution

Copyright (c) 2000, 2022, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

Ha ez a művelet sikeres volt, akkor elmondhatjuk, hogy van egy biztonságosan futó MySQL 8 adatbázis szerverünk. Kilépni az exit-tel tudunk a mysql prompt-ból.

Összefoglalás

Ez a MySQL 8 legegyszerűbb és leggyorsabb telepítése. Ebben a formában még éles környezetbe nem ajánlott ilyen alaptelepítést kitenni. Ahhoz még egyéb beállításokat is szükséges elvégezni. Azzal, hogy a MySQL 8 root felhasználójának jelszót adtunk máris biztonságosabbá tettük, így nagymértékben növeltük a védelmét adatbázis szerverünknek Rocky Linux 9 linux rendszeren.

Ezek is érdekesek lehetnek számodra

PHP 8 telepítése Rocky Linux 9 linux rendszeren

PHP 8 telepítése Rocky Linux 9 linux rendszeren

A PHP az egyik leggyakrabban használt szerveroldali programozási nyelv. Számos népszerű CMS pl. a WordPress, a Joomla és keretrendszer pl. a Laravel, a CakePHP, a Symfony PHP-ben épül fel.