Jinsi ya kusakinisha MySQL 8.0 kwenye RHEL/CentOS 8/7 na Fedora 35


MySQL ni mfumo huria wa usimamizi wa hifadhidata wa uhusiano wa chanzo huria (RDBMS) iliyotolewa chini ya GNU (Leseni ya Jumla ya Umma). Inatumika kuendesha hifadhidata nyingi kwenye seva yoyote moja kwa kutoa ufikiaji wa watumiaji wengi kwa kila hifadhidata iliyoundwa.

Makala haya yatakupitia mchakato wa kusakinisha na kusasisha toleo jipya zaidi la MySQL 8.0 kwenye RHEL/CentOS 8/7/6/ na Fedora kwa kutumia hazina ya MySQL Yum kupitia matumizi ya YUM.

Hatua ya 1: Kuongeza Hifadhi ya Yum ya MySQL

1. Tutatumia hazina rasmi ya programu ya MySQL Yum, ambayo itatoa vifurushi vya RPM kwa ajili ya kusakinisha toleo jipya zaidi la seva ya MySQL, mteja, Huduma za MySQL, MySQL Workbench, Kiunganishi/ODBC, na Kiunganishi/Python kwa RHEL/CentOS 8/7. /6/ na Fedora 30-35.

Muhimu: Maagizo haya hufanya kazi tu kwenye usakinishaji mpya wa MySQL kwenye seva, ikiwa tayari kuna MySQL iliyosakinishwa kwa kutumia kifurushi cha RPM kilichosambazwa na mtu wa tatu, basi ninapendekeza uboreshe au ubadilishe kifurushi cha MySQL kilichosakinishwa kwa kutumia MySQL Yum Repository. ”.

Kabla ya Kusasisha au Kubadilisha kifurushi cha zamani cha MySQL, usisahau kuchukua nakala zote muhimu za hifadhidata na faili za usanidi kwa kutumia mwongozo wetu wa Hifadhidata ya MySQL.

2. Sasa pakua na uongeze hazina ifuatayo ya MySQL Yum kwenye orodha ya hazina ya mfumo wako wa usambazaji wa Linux ili kusakinisha toleo jipya zaidi la MySQL (yaani 8.0 iliyotolewa tarehe 27 Julai 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. Baada ya kupakua kifurushi cha jukwaa lako la Linux, sasa sakinisha kifurushi kilichopakuliwa kwa amri ifuatayo.

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

Amri iliyo hapo juu ya usakinishaji huongeza hazina ya MySQL Yum kwenye orodha ya hazina ya mfumo na kupakua kitufe cha GnuPG ili kuthibitisha uadilifu wa vifurushi.

4. Unaweza kuthibitisha kwamba hazina ya MySQL Yum imeongezwa kwa mafanikio kwa kutumia amri ifuatayo.

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

Hatua ya 2: Kusakinisha Toleo la Hivi Punde la MySQL

5. Sakinisha toleo la hivi karibuni la MySQL (sasa 8.0) kwa kutumia amri ifuatayo.

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

Amri iliyo hapo juu husakinisha vifurushi vyote vinavyohitajika kwa seva ya MySQL mysql-community-server, mysql-community-client, mysql-community-common na mysql-community-libs.

Hatua ya 3: Kusakinisha Matoleo Tofauti ya Toleo la MySQL

6. Unaweza pia kusakinisha matoleo tofauti ya MySQL kwa kutumia hazina ndogo tofauti za MySQL Community Server. Hifadhi ndogo ya mfululizo wa hivi karibuni wa MySQL (ambayo kwa sasa ni MySQL 8.0) imeamilishwa kwa chaguo-msingi, na hazina ndogo za matoleo mengine yote (kwa mfano, mfululizo wa MySQL 5.x) huzimwa kwa chaguo-msingi.

Ili kusakinisha toleo mahususi kutoka kwa hifadhi ndogo maalum, unaweza kutumia --wezesha au --lemaza chaguo kwa kutumia yum-config-manager au dnf config-manager kama inavyoonyeshwa. :

# 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

Hatua ya 4: Kuanzisha Seva ya MySQL

7. Baada ya usakinishaji wa MySQL kwa mafanikio, ni wakati wa kuanza na kuwezesha seva ya MySQL kwa amri zifuatazo:

# service mysqld start
# systemctl enable mysqld.service

Unaweza kuthibitisha hali ya seva ya MySQL kwa msaada wa amri ifuatayo.

# systemctl status mysqld.service
OR
# service mysqld status

Hili ni sampuli ya pato la kuendesha MySQL chini ya kisanduku changu cha 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. Sasa hatimaye thibitisha toleo la MySQL lililosakinishwa kwa kutumia amri ifuatayo.

# mysql --version

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

Hatua ya 5: Kupata Usakinishaji wa MySQL

9. Amri ya mysql_secure_installation hukuruhusu kulinda usakinishaji wako wa MySQL kwa kutekeleza mipangilio muhimu kama vile kuweka nenosiri la msingi, kuondoa watumiaji wasiojulikana, kuondoa kuingia kwa mizizi, na kadhalika.

Kumbuka: Toleo la 8.0 la MySQL au toleo jipya zaidi hutoa nenosiri la nasibu la muda katika /var/log/mysqld.log baada ya kusakinisha.

Tumia amri iliyo hapa chini ili kuona nenosiri kabla ya kutekeleza amri salama ya MySQL.

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

Mara tu unapojua nenosiri sasa unaweza kutekeleza amri ifuatayo ili kupata usakinishaji wako wa MySQL.

# mysql_secure_installation

Kumbuka: Weka nenosiri jipya la Mizizi inamaanisha nenosiri lako la muda kutoka kwa faili /var/log/mysqld.log.

Sasa fuata maagizo ya skrini kwa uangalifu, kwa marejeleo tazama matokeo ya amri iliyo hapo juu hapa chini.

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! 

Hatua ya 6: Kuunganisha kwa Seva ya MySQL

10. Unganisha kwa seva mpya ya MySQL iliyosakinishwa kwa kutoa jina la mtumiaji na nenosiri.

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

Hatua ya 7: Kusasisha MySQL na Yum

11. Kando na usakinishaji mpya, unaweza pia kusasisha bidhaa na vipengele vya MySQL kwa msaada wa amri ifuatayo.

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

Wakati masasisho mapya yanapatikana kwa MySQL, itasakinisha kiotomatiki, ikiwa sivyo utapata ujumbe unaosema HAKUNA vifurushi vilivyowekwa alama kwa masasisho.

Hiyo ndiyo yote, umefanikiwa kusakinisha MySQL 8.0 kwenye mfumo wako. Ikiwa unatatizika kusakinisha jisikie huru kutumia sehemu yetu ya maoni kwa masuluhisho.