Wyszukiwanie w witrynie

Jak zainstalować MySQL 8.0 na RHEL/CentOS 8/7 i Fedorze 35


MySQL to darmowy system zarządzania relacyjnymi bazami danych typu open source (RDBMS) wydany na licencji GNU (General Public License) . Służy do uruchamiania wielu baz danych na dowolnym pojedynczym serwerze, zapewniając dostęp wielu użytkownikom do każdej utworzonej bazy danych.

W tym artykule omówiono proces instalacji i aktualizacji najnowszej wersji MySQL 8.0 na RHEL/CentOS 8/7/6/ i Fedora przy użyciu repozytorium MySQL Yum za pośrednictwem narzędzia YUM.

Krok 1: Dodanie repozytorium MySQL Yum

1. Będziemy korzystać z oficjalnego repozytorium oprogramowania MySQL Yum, które dostarczy pakiety RPM do instalacji najnowszej wersji serwera MySQL, klienta, MySQL Utilities, MySQL Workbench, Connector/ ODBC i Connector/Python dla RHEL/CentOS 8/7/6/ i Fedora 30-35.

Ważne: te instrukcje działają tylko w przypadku świeżej instalacji MySQL na serwerze, jeśli istnieje już MySQL > zainstalowany przy użyciu pakietu RPM rozpowszechnianego przez inną firmę, zalecam aktualizację lub wymianę zainstalowanego pakietu MySQL przy użyciu Repozytorium MySQL Yum ”.

Przed aktualizacją lub wymianą starego pakietu MySQL nie zapomnij zabrać ze sobą wszystkich ważnych plików kopii zapasowych bazy danych i plików konfiguracyjnych, korzystając z naszego przewodnika dotyczącego tworzenia kopii zapasowych baz danych MySQL.

2. Teraz pobierz i dodaj następujące repozytorium MySQL Yum do listy repozytoriów odpowiedniego systemu dystrybucji Linuksa, aby zainstalować najnowszą wersję MySQL (tj. 8.0 wydany 27 lipca 2018).

--------------- On RHEL/CentOS 8 ---------------
wget https://repo.mysql.com/mysql80-community-release-el8-1.noarch.rpm
--------------- On RHEL/CentOS 7 ---------------
wget https://repo.mysql.com/mysql80-community-release-el7-1.noarch.rpm
--------------- On RHEL/CentOS 6 ---------------
wget https://dev.mysql.com/get/mysql80-community-release-el6-1.noarch.rpm
--------------- On Fedora 35 ---------------
wget https://dev.mysql.com/get/mysql80-community-release-fc35-1.noarch.rpm
--------------- On Fedora 34 ---------------
wget https://dev.mysql.com/get/mysql80-community-release-fc34-1.noarch.rpm
--------------- On Fedora 33 ---------------
wget https://dev.mysql.com/get/mysql80-community-release-fc33-1.noarch.rpm

3. Po pobraniu pakietu na platformę Linux zainstaluj teraz pobrany pakiet za pomocą następującego polecenia.

--------------- On RHEL/CentOS 8 ---------------
yum localinstall mysql80-community-release-el8-1.noarch.rpm
--------------- On RHEL/CentOS 7 ---------------
yum localinstall mysql80-community-release-el7-1.noarch.rpm
--------------- On RHEL/CentOS 6 ---------------
yum localinstall mysql80-community-release-el6-1.noarch.rpm
--------------- On Fedora 35 ---------------
dnf localinstall mysql80-community-release-fc35-1.noarch.rpm
--------------- On Fedora 34 ---------------
dnf localinstall mysql80-community-release-fc34-1.noarch.rpm
--------------- On Fedora 33 ---------------
yum localinstall mysql80-community-release-fc33-1.noarch.rpm

Powyższe polecenie instalacyjne dodaje repozytorium MySQL Yum do listy repozytoriów systemu i pobiera klucz GnuPG w celu sprawdzenia integralności pakietów.

4. Możesz sprawdzić, czy repozytorium MySQL Yum zostało pomyślnie dodane, używając następującego polecenia.

yum repolist enabled | grep "mysql.*-community.*"
dnf repolist enabled | grep "mysql.*-community.*"      [On Fedora versions]

Krok 2: Instalacja najnowszej wersji MySQL

5. Zainstaluj najnowszą wersję MySQL (obecnie 8.0) za pomocą następującego polecenia.

yum install mysql-community-server
dnf install mysql-community-server      [On Fedora versions]

Powyższe polecenie instaluje wszystkie potrzebne pakiety dla serwera MySQL mysql-community-server, mysql-community-client, mysql-community-common i mysql-community-libs.

Krok 3: Instalowanie różnych wersji MySQL

6. Możesz także zainstalować różne wersje MySQL, korzystając z różnych podrepozytoriów MySQL Community Server. Podrepozytorium dla najnowszej serii MySQL (obecnie MySQL 8.0) jest domyślnie aktywowane, a podrepozytoria dla wszystkich pozostałych wersji (na przykład serii MySQL 5.x) są domyślnie wyłączone .

Aby zainstalować konkretną wersję z określonego podrepozytorium, możesz użyć opcji --enable lub --disable przy użyciu yum-config-manager lub dnf config-manager, jak pokazano:

yum-config-manager --disable mysql57-community
yum-config-manager --enable mysql56-community
------------------ Fedora Versions ------------------
dnf config-manager --disable mysql57-community
dnf config-manager --enable mysql56-community

Krok 4: Uruchamianie serwera MySQL

7. Po udanej instalacji MySQL czas uruchomić i włączyć serwer MySQL za pomocą następujących poleceń:

service mysqld start
systemctl enable mysqld.service

Możesz sprawdzić status serwera MySQL za pomocą następującego polecenia.

systemctl status mysqld.service
OR
service mysqld status

To jest przykładowy wynik działania MySQL w moim systemie CentOS 7.

Redirecting to /bin/systemctl status  mysqld.service
mysqld.service - MySQL Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled)
   Active: active (running) since Thu 2015-10-29 05:15:19 EDT; 4min 5s ago
  Process: 5314 ExecStart=/usr/sbin/mysqld --daemonize $MYSQLD_OPTS (code=exited, status=0/SUCCESS)
  Process: 5298 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
 Main PID: 5317 (mysqld)
   CGroup: /system.slice/mysqld.service
           └─5317 /usr/sbin/mysqld --daemonize

Oct 29 05:15:19 localhost.localdomain systemd[1]: Started MySQL Server.

8. Teraz na koniec zweryfikuj zainstalowaną wersję MySQL za pomocą następującego polecenia.

mysql --version

mysql  Ver 8.0.27 for Linux on x86_64 (MySQL Community Server - GPL)

Krok 5: Zabezpieczanie instalacji MySQL

9. Polecenie mysql_secure_installation pozwala zabezpieczyć instalację MySQL poprzez wykonanie ważnych ustawień, takich jak ustawienie hasła roota, usuwanie anonimowych użytkowników, usuwanie loginu root i tak dalej.

Uwaga: MySQL w wersji 8.0 lub nowszej generuje tymczasowe losowe hasło w /var/log/mysqld.log po instalacji.

Użyj poniższego polecenia, aby zobaczyć hasło przed uruchomieniem bezpiecznego polecenia MySQL.

grep 'temporary password' /var/log/mysqld.log

Gdy znasz hasło, możesz teraz uruchomić następujące polecenie, aby zabezpieczyć instalację MySQL.

mysql_secure_installation

Uwaga: Wpisanie nowego hasła roota oznacza tymczasowe hasło z pliku /var/log/mysqld.log.

Teraz postępuj zgodnie z instrukcjami wyświetlanymi na ekranie. Dla odniesienia zobacz wynik powyższego polecenia poniżej.

Przykładowe wyjście
Securing the MySQL server deployment.

Enter password for user root: Enter New Root Password

VALIDATE PASSWORD PLUGIN 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 plugin?

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
Using existing password for root.

Estimated strength of the password: 50 
Change the password for root ? ((Press y|Y for Yes, any other key for No) : y

New password: Set New MySQL Password

Re-enter new password: Re-enter New MySQL Password

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

Krok 6: Łączenie z serwerem MySQL

10. Połącz się z nowo zainstalowanym serwerem MySQL, podając nazwę użytkownika i hasło.

mysql -u root -p

Przykładowe wyjście:

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 11
Server version: 8.0.27 MySQL Community Server - GPL

Copyright (c) 2000, 2021, 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>

Krok 7: Aktualizacja MySQL za pomocą Yum

11. Oprócz świeżej instalacji możesz także aktualizować produkty i komponenty MySQL za pomocą następującego polecenia.

yum update mysql-server
dnf update mysql-server       [On Fedora versions]

Gdy dostępne będą nowe aktualizacje dla MySQL, automatycznie je zainstaluje. W przeciwnym razie pojawi się komunikat Żadne pakiety nie są oznaczone do aktualizacji.

To wszystko, pomyślnie zainstalowałeś MySQL 8.0 w swoim systemie. Jeśli masz jakiekolwiek problemy z instalacją, skorzystaj z naszej sekcji komentarzy, aby znaleźć rozwiązania.