GNU/Linux >> Belajar Linux >  >> Cent OS

Bagaimana menginstal Mysql 8 di Rocky Linux/Centos 8

Mysql biasanya diinstal sebagai bagian dari tumpukan LAMP atau LEMP (Linux, Apache/Nginx, MySQL/MariaDB, PHP/Python/Perl) yang populer. Ini mengimplementasikan model relasional dan Structured Query Language (SQL) untuk mengelola dan mengkueri data.

Dalam panduan ini kita akan menginstal mysql 8 di Centos 8. Panduan ini juga berfungsi pada turunan RHEL 8 lainnya seperti Rocky Linux 8 dan Alma Linux 8

Pos Terkait:

  • Cara menginstal dan Konfigurasi Mysql Server 8 di Fedora 34/35
  • Cara Menginstal dan Mengatur mysql 8 di Ubuntu 20.04
  • Cara menjalankan Mysql 8 dengan Docker dan Docker-Compose
  • Menggunakan Kemungkinan untuk Menginstal dan Menginisialisasi Mysql 8 di Centos 8

Persyaratan

  • Server Centos 8 yang Diperbarui
  • Akses Root ke server atau Pengguna dengan akses sudo
  • Akses internet dari server

Daftar Isi

  1. Pastikan server terbaru
  2. Memasang server mysql

Memperbarui sistem

Sebelum melanjutkan, pastikan sistem Anda mutakhir menggunakan perintah ini:

sudo dnf -y update

Menginstal server mysql

Mari kita cari paket mana yang menyediakan server mysql menggunakan perintah ini:

$ sudo dnf search mysql-server

Last metadata expiration check: 1:03:33 ago on Tue 17 Aug 2021 11:20:55 AM UTC.
==================================================== Name Exactly Matched: mysql-server ====================================================
mysql-server.x86_64 : The MySQL server and related files

Mari kita periksa informasi paket yang kita temukan di atas menggunakan perintah ini:

$ sudo dnf info mysql-server
Last metadata expiration check: 1:04:00 ago on Tue 17 Aug 2021 11:20:55 AM UTC.
Installed Packages
Name         : mysql-server
Version      : 8.0.21
Release      : 1.module_el8.2.0+493+63b41e36
Architecture : x86_64
Size         : 108 M
Source       : mysql-8.0.21-1.module_el8.2.0+493+63b41e36.src.rpm
Repository   : @System
From repo    : appstream
Summary      : The MySQL server and related files
URL          : http://www.mysql.com
License      : GPLv2 with exceptions and LGPLv2 and BSD
Description  : MySQL is a multi-user, multi-threaded SQL database server. MySQL is a
             : client/server implementation consisting of a server daemon (mysqld)
             : and many different client programs and libraries. This package contains
             : the MySQL server and some accompanying files and directories.

Sekarang mari Instal mysql-server paket:

sudo dnf install -y mysql-server

Keluaran:

$ sudo dnf install -y mysql-server
Last metadata expiration check: 0:44:57 ago on Tue 17 Aug 2021 11:20:55 AM UTC.
Dependencies resolved.
======================================================================================================
 Package                       Arch      Version                                   Repository    Size
======================================================================================================
Installing:
 mysql-server                  x86_64    8.0.21-1.module_el8.2.0+493+63b41e36      appstream     22 M
Installing dependencies:
 libaio                        x86_64    0.3.112-1.el8                             baseos        33 k
 mariadb-connector-c-config    noarch    3.1.11-2.el8_3                            appstream     15 k
 mecab                         x86_64    0.996-1.module_el8.2.0+493+63b41e36.9     appstream    393 k
 mysql                         x86_64    8.0.21-1.module_el8.2.0+493+63b41e36      appstream     12 M
 mysql-common                  x86_64    8.0.21-1.module_el8.2.0+493+63b41e36      appstream    148 k
 mysql-errmsg                  x86_64    8.0.21-1.module_el8.2.0+493+63b41e36      appstream    581 k
 perl-Carp                     noarch    1.42-396.el8                              baseos        30 k
 perl-Data-Dumper              x86_64    2.167-399.el8                             baseos        58 k
 perl-Digest                   noarch    1.17-395.el8                              appstream     27 k
 perl-Digest-MD5               x86_64    2.55-396.el8                              appstream     37 k
 perl-Encode                   x86_64    4:2.97-3.el8                              baseos       1.5 M
 perl-Errno                    x86_64    1.28-419.el8_4.1                          baseos        76 k
 perl-Exporter                 noarch    5.72-396.el8                              baseos        34 k
 perl-File-Path                noarch    2.15-2.el8                                baseos        38 k
 perl-File-Temp                noarch    0.230.600-1.el8                           baseos        63 k
 perl-Getopt-Long              noarch    1:2.50-4.el8                              baseos        63 k
 perl-HTTP-Tiny                noarch    0.074-1.el8                               baseos        58 k
 perl-IO                       x86_64    1.38-419.el8_4.1                          baseos       142 k
 perl-MIME-Base64              x86_64    3.15-396.el8                              baseos        31 k
 perl-Net-SSLeay               x86_64    1.88-1.module_el8.3.0+410+ff426aa3        appstream    379 k
 perl-PathTools                x86_64    3.74-1.el8                                baseos        90 k
 perl-Pod-Escapes              noarch    1:1.07-395.el8                            baseos        20 k
 perl-Pod-Perldoc              noarch    3.28-396.el8                              baseos        86 k
 perl-Pod-Simple               noarch    1:3.35-395.el8                            baseos       213 k
 perl-Pod-Usage                noarch    4:1.69-395.el8                            baseos        34 k
 perl-Scalar-List-Utils        x86_64    3:1.49-2.el8                              baseos        68 k
 perl-Socket                   x86_64    4:2.027-3.el8                             baseos        59 k
 perl-Storable                 x86_64    1:3.11-3.el8                              baseos        98 k
 perl-Term-ANSIColor           noarch    4.06-396.el8                              baseos        46 k
 perl-Term-Cap                 noarch    1.17-395.el8                              baseos        23 k
 perl-Text-ParseWords          noarch    3.30-395.el8                              baseos        18 k
 perl-Text-Tabs+Wrap           noarch    2013.0523-395.el8                         baseos        24 k
 perl-Time-Local               noarch    1:1.280-1.el8                             baseos        34 k
 perl-URI                      noarch    1.73-3.el8                                appstream    116 k
 perl-Unicode-Normalize        x86_64    1.25-396.el8                              baseos        82 k
 perl-constant                 noarch    1.33-396.el8                              baseos        25 k
 perl-interpreter              x86_64    4:5.26.3-419.el8_4.1                      baseos       6.3 M
 perl-libnet                   noarch    3.11-3.el8                                appstream    121 k
 perl-libs                     x86_64    4:5.26.3-419.el8_4.1                      baseos       1.6 M
 perl-macros                   x86_64    4:5.26.3-419.el8_4.1                      baseos        72 k
 perl-parent                   noarch    1:0.237-1.el8                             baseos        20 k
 perl-podlators                noarch    4.11-1.el8                                baseos       118 k
 perl-threads                  x86_64    1:2.21-2.el8                              baseos        61 k
 perl-threads-shared           x86_64    1.58-2.el8                                baseos        48 k
 protobuf-lite                 x86_64    3.5.0-13.el8                              appstream    149 k
Installing weak dependencies:
 perl-IO-Socket-IP             noarch    0.39-5.el8                                appstream     47 k
 perl-IO-Socket-SSL            noarch    2.066-4.module_el8.3.0+410+ff426aa3       appstream    298 k
 perl-Mozilla-CA               noarch    20160104-7.module_el8.3.0+416+dee7bcef    appstream     15 k
Enabling module streams:
 mysql                                   8.0
 perl                                    5.26
 perl-IO-Socket-SSL                      2.066
 perl-libwww-perl                        6.34

Transaction Summary
======================================================================================================
Install  49 Packages

Total download size: 48 M
Installed size: 218 M
Downloading Packages:

...
Complete!

Perintah dan output di atas akan menginstal server mysql pada Instans Centos 8 kami.

Memulai dan mengaktifkan layanan mysql

Setelah diinstal. layanan tidak akan diaktifkan atau dimulai secara default.
Kita dapat memeriksa status dengan perintah ini:

sudo systemctl status mysqld

Mari kita mulai layanan:

sudo systemctl start mysqld

Keluaran:

$ sudo systemctl status mysqld
● mysqld.service - MySQL 8.0 database server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; disabled; vendor preset: disabled)
   Active: active (running) since Tue 2021-08-17 12:11:09 UTC; 35s ago
  Process: 70489 ExecStartPost=/usr/libexec/mysql-check-upgrade (code=exited, status=0/SUCCESS)
  Process: 70363 ExecStartPre=/usr/libexec/mysql-prepare-db-dir mysqld.service (code=exited, status=0/SUCCESS)
  Process: 70338 ExecStartPre=/usr/libexec/mysql-check-socket (code=exited, status=0/SUCCESS)
 Main PID: 70445 (mysqld)
   Status: "Server is operational"
    Tasks: 39 (limit: 23800)
   Memory: 427.0M
   CGroup: /system.slice/mysqld.service
           └─70445 /usr/libexec/mysqld --basedir=/usr

Aug 17 12:10:58 db-server.citizix.com systemd[1]: Starting MySQL 8.0 database server...
Aug 17 12:10:58 db-server.citizix.com mysql-prepare-db-dir[70363]: Initializing MySQL database
Aug 17 12:11:09 db-server.citizix.com systemd[1]: Started MySQL 8.0 database server.

Aktifkan layanan agar selalu dimulai saat server di-boot ulang menggunakan perintah ini:

sudo systemctl enable mysqld

Untuk melihat log layanan MySQL 8 sebagai berikut menggunakan perintah journalctl:

$ sudo journalctl -u mysqld -xe
$ sudo tail -f /var/log/mysql/mysqld.log

Mengamankan MySQL

MySQL menyertakan skrip keamanan yang memungkinkan Anda mengubah beberapa opsi konfigurasi default untuk meningkatkan keamanan MySQL.

Untuk menggunakan skrip keamanan, jalankan perintah berikut:

sudo mysql_secure_installation

Ini akan membawa Anda melalui serangkaian petunjuk yang menanyakan apakah Anda ingin membuat perubahan tertentu pada opsi keamanan instalasi MySQL Anda. Opsi ini meliputi:

  • mengatur kata sandi pengguna root
  • mengaktifkan VALIDASI KOMPONEN SANDI yang memastikan digunakannya sandi yang kuat
  • Menghapus pengguna anonim
  • Menonaktifkan root untuk login dari jarak jauh
  • Menghapus database pengujian

Berikut adalah contoh keluaran dari server saya:

$ sudo mysql_secure_installation

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
Please set the password for root here.

New password:

Re-enter new 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!

Menguji Instalasi MySQL

Mari kita periksa versi mysql dengan perintah ini:

mysql -V

Sekarang Anda dapat Login sebagai root pengguna dan kata sandi yang ditentukan di atas.

$ mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 11
Server version: 8.0.21 Source distribution

Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.

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> select version();
+-----------+
| version() |
+-----------+
| 8.0.21    |
+-----------+
1 row in set (0.00 sec)

mysql>

Kesimpulan

Kami telah berhasil menginstal mysql dalam panduan ini.


Cent OS
  1. Cara debootstrap di CentOS Linux

  2. Cara menginstal &mengkonfigurasi Redis 6 di Rocky Linux/Centos 8

  3. Cara menginstal Java 17 Di Rocky Linux 8/Centos 8

  1. Cara Instal PostgreSQL di CentOS 8 / Rocky Linux 8 / RHEL 8

  2. Cara menginstal Erlang di Rocky Linux/Alma Linux/CentOS 8

  3. Cara Menginstal Klien FreeIPA di Rocky Linux/Alma Linux/CentOS 8

  1. Cara Instal MySQL di CentOS 7

  2. Cara Menginstal MySQL Workbench di Rocky Linux 8

  3. Cara Menginstal MySQL 5.6 di CentOS 6.x