MySQL 8.0-ni RHEL/CentOS 8/7 we Fedora 35-de nädip gurmaly


MySQL, GNU (General Public License) tarapyndan çykarylan açyk çeşme erkin baglanyşyk bazasyny dolandyrmak ulgamy (RDBMS). Her döredilen maglumatlar bazasyna köp ulanyjy girişini üpjün edip, islendik serwerde birnäçe maglumat bazasyny işletmek üçin ulanylýar.

Bu makala, RHEL/CentOS 8/7/6/we Fedora-da iň soňky MySQL 8.0 wersiýasyny YUM programmasy arkaly MySQL Yum ammaryny gurmak we täzelemek prosesi bilen tanyşar.

1-nji ädim: MySQL Yum ammaryny goşmak

1. MySQL serweriniň, müşderiniň, MySQL Utilities, MySQL Workbench, Connector/ODBC, we RHEL/CentOS 8/7 üçin Connector/Python-yň iň soňky wersiýasyny gurmak üçin RPM paketlerini üpjün etjek resmi MySQL Yum programma ammaryny ulanarys./6/we Fedora 30-35.

Üns beriň: Bu görkezmeler diňe MySQL-i serwerde täze gurnamagyň üstünde işleýär, eger üçünji tarap paýlanan RPM paketini ulanyp eýýäm MySQL gurlan bolsa, onda MySQL umum ammaryny ulanyp, gurlan MySQL paketini täzelemegi ýa-da çalyşmagy maslahat berýärin. .

Köne MySQL paketini täzelemezden ýa-da çalyşmazdan ozal, MySQL Maglumatlar bazasynyň gollanmasyny ulanyp, möhüm maglumatlar bazasynyň ätiýaçlyk nusgasyny we konfigurasiýa faýllaryny almagy ýatdan çykarmaň.

2. Indi MySQL-iň iň soňky wersiýasyny (meselem, 2018-nji ýylyň 27-nji iýulynda çykan 8.0) gurmak üçin degişli Linux paýlaýyş ulgamynyň ammar sanawyna aşakdaky MySQL Yum ammaryny göçürip alyň.

--------------- 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. Linux platformaňyz üçin bukjany göçürip alanyňyzdan soň, göçürilen bukjany aşakdaky buýruk bilen guruň.

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

Aboveokardaky gurnama buýrugy, MySQL Yum ammaryny ulgamyň ammar sanawyna goşýar we paketleriň bitewiligini barlamak üçin GnuPG düwmesini göçürip alýar.

4. MySQL Yum ammarynyň aşakdaky buýrugy ulanyp üstünlikli goşulandygyny tassyklap bilersiňiz.

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

2-nji ädim: Iň soňky MySQL wersiýasyny gurmak

5. MySQL-iň iň soňky wersiýasyny (häzirki 8.0) aşakdaky buýrugy ulanyp guruň.

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

Aboveokardaky buýruk MySQL serweri mysql-community-server, mysql-community-client, mysql-community-common we mysql-community-libs üçin zerur paketleri gurýar.

3-nji ädim: Dürli MySQL goýberiş wersiýalaryny gurmak

6. Şeýle hem, MySQL Community Server-iň dürli ammarlaryny ulanyp, dürli MySQL wersiýalaryny gurup bilersiňiz. Soňky MySQL seriýasy üçin (häzirki MySQL 8.0) kiçi ammar deslapky görnüşde işjeňleşdirilýär we beýleki ähli wersiýalar üçin (mysal üçin, MySQL 5.x seriýasy) kiçi ammarlar deslapky ýagdaýda ýapylýar.

Belli bir kiçi ammardan belli bir wersiýany gurmak üçin, yum-config-manager ýa-da dnf config-manager ulanyp, --enable ýa-da --disable opsiýalaryny ulanyp bilersiňiz. :

# 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

4-nji ädim: MySQL serwerine başlamak

7. MySQL üstünlikli gurlandan soň, MySQL serwerini aşakdaky buýruklar bilen başlamagyň we işletmegiň wagty geldi:

# service mysqld start
# systemctl enable mysqld.service

MySQL serweriniň ýagdaýyny aşakdaky buýrugyň kömegi bilen barlap bilersiňiz.

# systemctl status mysqld.service
OR
# service mysqld status

Bu, CentOS 7 gutymyň aşagyndaky MySQL-iň işleýşiniň nusga çykyşy.

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. Indi aşakdaky buýrugy ulanyp, gurlan MySQL wersiýasyny barlaň.

# mysql --version

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

5-nji ädim: MySQL gurnamasyny üpjün etmek

9. mysql_secure_installation buýrugy, kök parolyny kesgitlemek, näbelli ulanyjylary aýyrmak, kök girişini aýyrmak we ş.m. ýaly möhüm sazlamalary ýerine ýetirip, MySQL gurnamagyňyzy üpjün etmäge mümkinçilik berýär.

Bellik: MySQL 8.0 ýa-da has ýokary wersiýasy gurlandan soň /var/log/mysqld.log -da wagtlaýyn tötänleýin parol döredýär.

MySQL ygtybarly buýrugyny işletmezden ozal paroly görmek üçin aşakdaky buýrugy ulanyň.

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

Paroly bilenden soň, MySQL gurnamagyňyzy üpjün etmek üçin aşakdaky buýrugy işledip bilersiňiz.

# mysql_secure_installation

Bellik: Täze kök parolyny giriziň /var/log/mysqld.log faýlyndan wagtlaýyn parolyňyzy aňladýar.

Indi ekrandaky görkezmeleri üns bilen ýerine ýetiriň, maglumat üçin aşakdaky ýokardaky buýrugyň çykyşyna serediň.

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! 

6-njy ädim: MySQL serwerine birikmek

10. Ulanyjy adyny we parolyny berip, täze gurlan MySQL serwerine birikdiriň.

# mysql -u root -p
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>

7-nji ädim: MySQL-y Yum bilen täzelemek

11. Täze gurnamakdan başga-da, aşakdaky buýrugyň kömegi bilen MySQL önümleri we bölekleri üçin täzelenmeleri hem edip bilersiňiz.

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

MySQL üçin täze täzelenmeler elýeterli bolsa, täzelenmeler üçin NOOK paketler diýlen habary almasaňyz, olary awtomatiki gurar.

Munuň özi, MySQL 8.0 ulgamyňyza üstünlikli gurnadyňyz. Gurmakda kynçylyk çekýän bolsaňyz, çözgütler üçin teswirler bölümimizi ulanyp bilersiňiz.