Menginstal MySQL/MariaDB
MySQL adalah sistem manajemen basis data relasional (RDBMS) yang banyak digunakan. MariaDB adalah fork MySQL yang dikembangkan oleh komunitas dan merupakan implementasi MySQL yang lebih disukai di Fedora. Meskipun kedua produk ini memiliki asal-usul yang sama, keduanya telah berkembang secara terpisah seiring waktu dan migrasi data di antara keduanya mungkin tidak mudah.
MariaDB dilisensikan di bawah GPLv2. MySQL menggunakan lisensi ganda: GPLv2 untuk Community Edition dan lisensi proprietary untuk Enterprise.
Fedora menyertakan paket berversi untuk keduanya:
-
MariaDB rilis LTS, mis.
mariadb10.11,mariadb11.8 -
MySQL rilis LTS, mis.
mysql8.4
Satu versi dari masing-masing dalam setiap rilis Fedora ditetapkan sebagai "default distribusi", yang menyediakan nama paket tanpa versi (mariadb, mariadb-server atau mysql, mysql-server).
Untuk melihat versi mana yang tersedia di rilis Fedora Anda:
$ dnf search mariadb | grep server
$ dnf search mysql | grep server
| Versi yang tersedia mungkin berbeda antar rilis Fedora. Paket MariaDB dan MySQL berkonflik karena menyediakan file yang serupa — Anda hanya dapat menginstal salah satunya pada satu waktu. |
Instal dari repositori Fedora
Menginstal MariaDB
Untuk menginstal versi default distribusi:
$ sudo dnf install mariadb-server
Untuk menginstal versi tertentu:
$ sudo dnf install mariadb11.8-server
Menginstal MySQL
Untuk menginstal versi default distribusi:
$ sudo dnf install mysql-server
Untuk menginstal versi tertentu:
$ sudo dnf install mysql8.4-server
Memulai layanan
Untuk MariaDB:
$ sudo systemctl enable --now mariadb
Untuk MySQL:
$ sudo systemctl enable --now mysqld
Instal dari repositori Oracle MySQL
|
Halaman ini membahas sumber perangkat lunak pihak ketiga yang tidak secara resmi berafiliasi atau didukung oleh Proyek Fedora. Gunakan sumber-sumber ini dengan pertimbangan Anda sendiri. Fedora merekomendasikan penggunaan perangkat lunak bebas dan sumber terbuka serta menghindari perangkat lunak yang terikat oleh paten. |
Oracle menyediakan repositori MySQL mereka sendiri untuk Fedora. Ini berguna jika Anda memerlukan versi yang tidak tersedia di repositori Fedora.
Menambahkan repositori Oracle MySQL
Unduh paket rilis dari https://dev.mysql.com/downloads/repo/yum/ dan instal:
$ sudo dnf install <path-ke-rpm-yang-diunduh>
| Repositori ini dikelola oleh Oracle. Laporkan masalah melalui https://www.mysql.com/about/faq/ |
Menginstal dan memulai MySQL
$ sudo dnf install mysql-community-server
$ sudo systemctl enable --now mysqld
MySQL menghasilkan kata sandi root sementara pada saat pertama kali dijalankan. Temukan dengan:
$ sudo grep 'temporary password' /var/log/mysqld.log
Kemudian amankan instalasi:
$ sudo mysql_secure_installation
Jawab pertanyaan keamanan sesuai preferensi Anda. Gunakan kata sandi yang kuat untuk pengguna root MySQL — ini terpisah dari kata sandi root sistem Anda.
Instal menggunakan container
Fedora menyediakan image container di quay.io.
Container MariaDB
$ podman pull quay.io/fedora/mariadb-118
$ podman run -d --name mariadb -e MYSQL_ROOT_PASSWORD=mypassword quay.io/fedora/mariadb-118
Container MySQL
$ podman pull quay.io/fedora/mysql-84
$ podman run -d --name mysql -e MYSQL_ROOT_PASSWORD=mypassword quay.io/fedora/mysql-84
Menghubungkan ke basis data dari container
$ podman exec -it mariadb mysql -uroot -p
atau untuk MySQL:
$ podman exec -it mysql mysql -uroot -p
Mengelola container
$ podman start <nama-container>
$ podman stop <nama-container>
$ podman restart <nama-container>
$ podman rm <nama-container>
Untuk image yang tersedia, lihat https://quay.io/organization/fedora
Menggunakan basis data
Hubungkan ke shell basis data:
$ mysql -u root -p
Untuk MariaDB yang diinstal dari repositori Fedora, pengguna root terhubung melalui autentikasi unix socket tanpa kata sandi: mysql -u root
|
Periksa versi yang sedang berjalan:
SELECT version();
Buat basis data dan pengguna:
CREATE DATABASE mydb;
CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypassword';
GRANT ALL PRIVILEGES ON mydb.* TO 'myuser'@'localhost';
FLUSH PRIVILEGES;
Tampilkan daftar basis data yang tersedia:
SHOW DATABASES;
Mengizinkan akses jarak jauh
Buka port firewall
$ sudo firewall-cmd --permanent --zone=public --add-service=mysql
$ sudo firewall-cmd --reload
atau menggunakan nomor port secara langsung:
$ sudo firewall-cmd --permanent --zone=public --add-port=3306/tcp
$ sudo firewall-cmd --reload
Konfigurasi bind address
Edit konfigurasi untuk mengizinkan koneksi dari host lain.
Lokasi file konfigurasi:
-
MariaDB:
/etc/my.cnfdan/etc/my.cnf.d/ -
MySQL:
/etc/my.cnfdan/etc/my.cnf.d/
Anda dapat menemukan file konfigurasi untuk paket apa pun dengan rpm -qc <package-name>.
|
Atur bind address untuk menerima koneksi dari semua antarmuka:
[mysqld]
bind-address = 0.0.0.0
Kemudian restart layanan:
$ sudo systemctl restart mariadb
atau untuk MySQL:
$ sudo systemctl restart mysqld
Pemecahan masalah
Periksa konfigurasi aktif
Untuk MariaDB:
$ mariadbd --print-defaults
Untuk MySQL:
$ mysqld --print-defaults
Log kesalahan
Jika layanan gagal dimulai, periksa journal:
$ journalctl -xe -u mariadb
atau untuk MySQL:
$ journalctl -xe -u mysqld
File log juga dapat ditemukan di:
-
MariaDB:
/var/log/mariadb/mariadb.log -
MySQL:
/var/log/mysql/mysqld.log
Kesalahan socket
Jika Anda melihat kesalahan seperti:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
Ini biasanya berarti layanan tidak berjalan. Coba mulai layanannya:
$ sudo systemctl start mariadb
Jika layanan berjalan tetapi file socket tidak ada, periksa path socket yang dikonfigurasi:
$ mysql --help | grep socket
Verifikasi file socket ada:
$ ls -la /var/lib/mysql/mysql.sock
Jika file tidak ada, pastikan direktori data memiliki kepemilikan dan izin yang benar:
$ sudo chown mysql:mysql /var/lib/mysql
$ sudo chmod 755 /var/lib/mysql
Kemudian restart layanan:
$ sudo systemctl restart mariadb
Jika masalah berlanjut, tinjau log kesalahan untuk detail lebih lanjut.
Want to help? Learn how to contribute to Fedora Docs ›