Belajar Cara Install MySQL Server Di Linux Ubuntu | UNIX LINUX EXPLORE
Edit

Belajar Cara Install MySQL Server Di Linux Ubuntu

MySQL adalah sistem database sumber terbuka, tangguh, handal dan populer. Sebagai aplikasi database, MySQL banyak digunakan oleh sebagian besar aplikasi web dan situs di Internet. Biasanya MySQL adalah bagian dari tumpukan LAMP (Linux, Apache, MySQL, PHP/Perl/Python). Saat ini, MySQL banyak digunakan oleh perangkat lunak sumber terbuka populer seperti Drupal, Hugo, WordPress, Joomla, MediaWiki, dan lainnya. Pada aplikasi tersebut, biasanya MySQL digunakan sebagai mesin penyimpanan basis datanya.

Sebagai alat manajemen basis data relasional (DBMS), MySQL didistribusikan secara gratis yang dirancang untuk penggunaan individu. para pengembang web atau perusahaan. Banyaknya pengguna MySQL, dikarenakan aplikasi ini memiliki kecepatan, keandalan, dan keserbagunaan yang tak dimillki oleh aplikasi DBMS lainnya seperti PostgreSQL.




Pada postingan ini, kita akan mempelajari cara menginstal server MySQL versi 8.x pada server Ubuntu Linux 22.04 LTS, termasuk menyiapkan database baru, pengguna, dan menyempurnakan konfigurasi server MySQL.


1. Cara Install MySQL

Pada server Ubuntu, repositori MySQL server dan client dikemas secara terpisah, masing-masing aplikasi dapat diakses melalui "mysql-server" dan "mysql-client". Kami akan memulai proses instalasi MySQL dengan memperbarui repositori Ubuntu.

Update repositori Ubuntu
root@runtu:~# apt update -y
root@runtu:~# apt list --upgradable
root@runtu:~# apt upgrade -y
Untuk mencari versi MySQL server dan client pada paket Ubuntu 22.04 LTS, gunakan perintah "apt-cache", seperti contoh di bawah ini.

Melihat versi MySQL di repositori
root@runtu:~# apt-cache search mysql-server
root@runtu:~# apt-cache search mysql-client
Jika anda ingin menggunakan MySQL 8, sebelum melakukan perintah install MySQL, anda dapat melihat statistik MySQL dengan perintah seperti yang kami contohkan di bawah ini.

Melihat statistik MySQL
root@runtu:~# apt info -a mysql-server-8.0
Package: mysql-server-8.0
Version: 8.0.36-0ubuntu0.22.04.1
Priority: optional
Section: database
Source: mysql-8.0
Origin: Ubuntu
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: Debian MySQL Maintainers <pkg-mysql-maint@lists.alioth.debian.org>
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Installed-Size: 1,581 kB
Provides: virtual-mysql-server
Pre-Depends: adduser (>= 3.40), debconf, mysql-common (>= 5.5)
Depends: lsb-base (>= 3.0-10), mysql-client-8.0 (>= 8.0.36-0ubuntu0.22.04.1), mysql-common (>= 5.8+1.0.4~), mysql-server-core-8.0 (= 8.0.36-0ubuntu0.22.04.1), passwd, perl:any (>= 5.6), psmisc, debconf (>= 0.5) | debconf-2.0
Recommends: libhtml-template-perl, mecab-ipadic-utf8
Suggests: mailx, tinyca
Conflicts: mariadb-server-10.1, mariadb-server-10.3, mysql-server-5.7, virtual-mysql-server
Homepage: http://dev.mysql.com/
Task: lamp-server
Download-Size: 1,437 kB
APT-Sources: http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 Packages
Description: MySQL database server binaries and system database setup
 MySQL is a fast, stable and true multi-user, multi-threaded SQL database
 server. SQL (Structured Query Language) is the most popular database query
 language in the world. The main goals of MySQL are speed, robustness and
 ease of use.
 .
 This package contains all the infrastructure needed to setup system
 databases.

Package: mysql-server-8.0
Version: 8.0.28-0ubuntu4
Priority: optional
Section: database
Source: mysql-8.0
Origin: Ubuntu
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: Debian MySQL Maintainers <pkg-mysql-maint@lists.alioth.debian.org>
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Installed-Size: 1,603 kB
Provides: virtual-mysql-server
Pre-Depends: adduser (>= 3.40), debconf, mysql-common (>= 5.5)
Depends: lsb-base (>= 3.0-10), mysql-client-8.0 (>= 8.0.28-0ubuntu4), mysql-common (>= 5.8+1.0.4~), mysql-server-core-8.0 (= 8.0.28-0ubuntu4), passwd, perl:any (>= 5.6), psmisc, debconf (>= 0.5) | debconf-2.0
Recommends: libhtml-template-perl, mecab-ipadic-utf8
Suggests: mailx, tinyca
Conflicts: mariadb-server-10.1, mariadb-server-10.3, mysql-server-5.7, virtual-mysql-server
Homepage: http://dev.mysql.com/
Task: lamp-server
Download-Size: 1,386 kB
APT-Sources: http://archive.ubuntu.com/ubuntu jammy/main amd64 Packages
Description: MySQL database server binaries and system database setup
 MySQL is a fast, stable and true multi-user, multi-threaded SQL database
 server. SQL (Structured Query Language) is the most popular database query
 language in the world. The main goals of MySQL are speed, robustness and
 ease of use.
 .
 This package contains all the infrastructure needed to setup system
 databases.
Lalu apa perbedaan dari mysql-server-8.0 dan mysql-server-core-8.0. Perbedaanya sangat jelas, agar tidak membingungkan berikut penjelasannya.

mysql-server-8.0: Paket ini diperlukan di hampir semua kasus. Pada paket ini berisi executable server database MySQL, klien, dan pengaturan database sistem.

mysql-server-core-8.0: Paket ini mencakup file binary untuk server, tetapi tidak berisi semua infrastruktur yang diperlukan untuk mengkonfigurasi database sistem. Jadi paket ini lebih berguna bagi mereka yang menyiapkan container Linux (Docker, LXD, dll.) dan tidak memerlukan semua hal ini seperti MySQL client.

Baiklah, kami tak akan panjang lebar menjelaskan MySQL, Anda dapat menjalankan perintah berikut untuk menginstal MySQL server dan client.

Install paket MySQL
root@runtu:~# apt install mysql-client-8.0
root@runtu:~# apt install mysql-server-8.0


2. Buat Kata Sandi MySQL

Sebelum anda menjalankan MySQL, terlebih dahulu anda harus membuat kata sandi root untuk MySQL, tujuannya adalah agar anda dapat masuk ke sistem MySQL server. Ikuti panduan di bawah ini untuk membuat kata sandi "root" MySQL.

Buat password MySQL
root@runtu:~# sudo mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.36-0ubuntu0.22.04.1 (Ubuntu)

Copyright (c) 2000, 2024, 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> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'anjani';
Query OK, 0 rows affected (0.06 sec)

mysql> exit;
Bye
root@runtu:~#
Perintah ALTER USER di atas digunakan untuk membuat kata sandi MySQL:
User: root
HOST: localhost atau 127.0.0.1
Password: anjani

Selain perintah di atas, pada server MySQL secara default, kata sandi root, tidak di aktifkan. Anda dapat membuat kata sandi root MySQL dengan perintah di bawah ini.

Buat password root MySQL
root@runtu:~# mysql_secure_installation
Langkah selanjutnya, anda harus mengaktifkan booting Server MySQL bersama dengan booting sistem Ubuntu. Hal ini bertujuan agar MySQL dapat dimulai secara otomatis saat startup sistem.

Buat start up otomatis MySQL
root@runtu:~# systemctl is-enabled mysql.service
Setelah itu anda dapat menjalankan MySQL, mematikan, merestart dan melihat statusnya dengan perintah systemctl seperti yang kami contohkan di bawah ini.

Aktifkan MySQL
root@runtu:~# systemctl start mysql.service
root@runtu:~# systemctl stop mysql.service
root@runtu:~# systemctl restart mysql.service
root@runtu:~# systemctl status mysql.service
Anda dapat melihat log layanan MySQL menggunakan perintah journalctl.

Lihat log MySQL
root@runtu:~# journalctl -u mysql.service -xe
Secara default, file log MySQL berada di /var/log/mysql/error.log, untuk melihat isi file log MySQL gunakan perintah.

Lihat log MySQL
root@runtu:~# tail -f /var/log/mysql/error.log


3. Cara masuk ke server MySQL

Pada bagian di atas, anda telah mempelajari cara menginstall, konfigurasi dan buat kata sandi MySQL. Pada bagian ini kita akan coba masuk ke dalam sistem database server MySQL sebagai root. Sintaks perintahnya adalah sebagai berikut.

Login ke MySQL
root@runtu:~# mysql -u root -p
atau dapat juga dengan perintah di bawah ini.

Login ke MySQL
root@runtu:~# mysql -u root -h 127.0.0.1 -p
Setelah anda berhasil masuk ke server MySQL, jalankan perintah status untuk menampilkan versi dan informasi lain tentang server MySQL.

Lihat status MySQL
root@runtu:~# mysql -u root -h 127.0.0.1 -p
Enter password: anjani  (password yang telah anda buat di atas)
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 18
Server version: 8.0.36-0ubuntu0.22.04.1 (Ubuntu)

Copyright (c) 2000, 2024, 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> status;
--------------
mysql  Ver 8.0.36-0ubuntu0.22.04.1 for Linux on x86_64 ((Ubuntu))

Connection id:          18
Current database:
Current user:           root@localhost
SSL:                    Cipher in use is TLS_AES_256_GCM_SHA384
Current pager:          stdout
Using outfile:          ''
Using delimiter:        ;
Server version:         8.0.36-0ubuntu0.22.04.1 (Ubuntu)
Protocol version:       10
Connection:             127.0.0.1 via TCP/IP
Server characterset:    utf8mb4
Db     characterset:    utf8mb4
Client characterset:    utf8mb4
Conn.  characterset:    utf8mb4
TCP port:               3306
Binary data as:         Hexadecimal
Uptime:                 39 min 6 sec

Threads: 2  Questions: 24  Slow queries: 0  Opens: 120  Flush tables: 3  Open tables: 39  Queries per second avg: 0.010
--------------

mysql>
Masih pada shell MySQL, anda juga dapat melihat versi server MySQL menggunakan perintah berikut.

Lihat versi MySQL
mysql> SHOW VARIABLES LIKE "%version%";
+--------------------------+-------------------------+
| Variable_name            | Value                   |
+--------------------------+-------------------------+
| admin_tls_version        | TLSv1.2,TLSv1.3         |
| immediate_server_version | 999999                  |
| innodb_version           | 8.0.36                  |
| original_server_version  | 999999                  |
| protocol_version         | 10                      |
| replica_type_conversions |                         |
| slave_type_conversions   |                         |
| tls_version              | TLSv1.2,TLSv1.3         |
| version                  | 8.0.36-0ubuntu0.22.04.1 |
| version_comment          | (Ubuntu)                |
| version_compile_machine  | x86_64                  |
| version_compile_os       | Linux                   |
| version_compile_zlib     | 1.2.13                  |
+--------------------------+-------------------------+
13 rows in set (0.01 sec)

mysql>


4. Buat database baru, user dan kata sandi

Karena MySQL sebagai aplikasi yang digunakan untuk manajemen database, pada bagian ini kita akan mempelajari cara membuat database berikut dengan user dan kata sandi untuk database tersebut. Perintah di bawah ini digunakan untuk membuat database baru di server MySQL.

Buat database
mysql> CREATE DATABASE rinjani;
Query OK, 1 row affected (0.13 sec)
Kemudian buat pengguna/user dan kata sandi, dengan ketentuan sebagai berikut:
User: lawang
Host: 127.0.0.1
Kata sandi: sembalun

Buat user/pengguna
mysql> CREATE USER 'lawang'@'127.0.0.1' IDENTIFIED BY 'sembalun';
Setelah itu, anda jalankan perintah di bawah ini untuk menetapkan hak akses.

Buat hak akses
mysql> GRANT SELECT, INSERT, UPDATE, DELETE ON rinjani.* TO 'lawang'@'127.0.0.1';
Berikan semua hak istimewa ke database "rinjani".

Buat hak istimewa untuk database rinjani
mysql> GRANT ALL PRIVILEGES ON rinjani.* TO 'lawang'@'127.0.0.1';
Sekarang coba anda keluar dari MySQL dengan perintah exit, dan Masuk ke MySQL sebagai pengguna baru yaitu "lawang"

Masuk ke MySQL dengan user lawang
mysql> exit;
Bye
root@runtu:~# mysql -u lawang -h 127.0.0.1 -p rinjani
Enter password: sembalun
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 23
Server version: 8.0.36-0ubuntu0.22.04.1 (Ubuntu)

Copyright (c) 2000, 2024, 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>
Sekarang server Ubuntu anda telah terinstall dan berjalan server Oracle MySQL versi 8. Anda juga dapat mempelajari cara menambahkan database baru, pengguna, kata sandi, dan mengkonfigurasi server database MySQL untuk proyek kerja anda. Lihat dokumentasi database Oracle MySQL untuk SQL dan perintah lainnya.