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.