Pada artikel kali ini kita akan membahas bagaimana melakukan instalasi mysql yang akan digunakan bersama PHP pada Ubuntu. Versi Ubuntu yang digunakan pada artikel ini adalah 20.04. Pastikan apache2 dan PHP telah tersintall terlebih dahulu. Untuk instalasi apache2 dapat dilihat pada artikel ini : Instalasi apache2 web server pada Ubuntu, dan untuk instalasi PHP dapat dilihat pada artikel ini : Instalasi PHP pada Ubuntu.
Pertama sekali seperti biasa jalankan apt update untuk memeriksa update yang tersedia untuk package yang terinstall pada sistem operasi ubuntu. Jika terdapat upgrade baru untuk package yang kita miliki lakukan upgrad package dengan perintah apt upgrade.
Pertama sekali kita akan menginstall mysql server dengan perintah berikut :
sudo apt install mysql-server
Tekan "y" lalu enter untuk melanjutkan instalasi. Setelah instalasi selesai, service mysql akan berjalan secara otomatis. Untuk memeriksa status service mysql dapat menggunakan perintah berikut :
sudo service mysql status
Tekan ctrl+c untuk keluar dari informasi status. Semua file konfigruasi mysql berada pada direktori /etc/mysql/, jika anda melakukan perubahan pada file config mysql jangan lupa untuk merestart service mysql dengan perintah berikut :
sudo systemctl restart mysql.service
selanjutnya kita akan mencoba masuk kedalam console mysql, ketikkan perintah :
mysql -u root -p
kemudian masukkan password untuk user root atau user administrator anda.
Kemudian kita akan mencoba membuat database baru dengan perintah berikut :
CREATE DATABASE database_name;
database_name adalah nama database yang ingin dibuat, sebagai contoh kita ingin membuat sebuah database baru dengan nama gudang menggunakan perintah berikut :
Kemudian select database yang baru dibuat agar kita dapat mengelola database tersebut dengan perintah use.
Kemudian kita akan membuat sebuah table sederhana dengan perintah berikut :
create table barang (kode varchar(255), nama varchar(255));
untuk memeriksa table yang terdapat pada database dapat menggunakan perintah :
show tables;
Selanjutnya kita akan mencoba memasukkan (insert) satu buah record kedalam table barang yang tujuannya untuk nanti dapat ditampilkan pada script PHP.
insert into barang(kode, nama) values('01A0','Sepatu');
kemudian kita akan coba view data yang baru saja kita insert menggunakan perintah :
select * from barang;
Untuk melakukan koneksi dari PHP, dibutuhkan user untuk autorisasi ke MySQL Server, buatlah user baru pada mysql server dengan perintah berikut :
CREATE USER 'username' IDENTIFIED BY 'password';
Ganti string username dengan nama user yang anda kehendaki, dan string password dengan password yang anda kehendaki, sebagai contoh :
CREATE USER 'joko' IDENTIFIED BY 'JokoA1';
sebagai alternatif, pembuatan user dapat menyertakan host darimana user itu akan melakukan akses dengan menggunakan perintah berikut :
CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
atau
CREATE USER 'username'@'ip_address' IDENTIFIED BY 'password';
atau
CREATE USER 'username'@'%' IDENTIFIED BY 'password';
@localhost menyatakan bahwa user ini hanya dapat melakukan akses pada mesin yang sama dimana mysql server, @ip_address menyatakan alamat ip user yang mana memungkinkan user melakukan akses dari jaringan. @% menyatakan user dapat melakukan akses darimana saja. Selanjutnya kita akan memberikan akses (grant permission) kepada user yang baru saja dibuat. Terdapat beberapa jenis permission yang dapat diberikan kepada user seperti :
- All Privileges, mengizinkan semua operasi.
- Insert, mengizinkan operasi insert.
- Delete, mengizinkan operasi delete record.
- Create, mengizinkan operasi create table ataupun database.
- Drop, mengizinkan operasi drop table ataunpun database.
- Select, mengizinkan operasi select dan membaca informasi dari database.
- Update, mengizinkan operasi update.
- Grant Option, mengizinkan user untuk merubah permissionnya sendiri.
Adapun format pemberian permission adalah :
GRANT permission_type ON database.table TO 'username'@'localhost';
atau
GRANT permission_type ON database.table TO 'username'@'localhost' With Grant Option;
Jika anda ingin memberikan permission untuk beberapa table atau database sekaligus dapat menggunakan karakter '*' :
GRANT permission_type ON database.* TO 'username'@'localhost';
atau
GRANT permission_type ON *.* TO 'username'@'localhost';
Sebagai contoh, jika anda ingin memberikan akses semua akses pada semua table pada database gudang untuk user joko, maka dapat menggunakan perintah berikut :
GRANT ALL PRIVILEGES on gudang.* to 'joko';
Sampai tahap ini, persiapan MySQL server telah selesai, selanjutnya kita akan menginstall module php-mysql dengan perintah berikut :
sudo apt install php-mysql
Tekan "y" lalu enter untuk melanjutkan instalasi. Setelah instalasi selesai jangan lupa untuk me-restart web server apache2 dengan perintah berikut :
sudo systemctl restart apache2.service
Tahap terakhir kita akan mencoba PHP dan MySQL dengan membuat sebuah script PHP sederhana yang menampilkan data dari MySQL server. Buatlah sebuah file baru pada direktor /var/www/html dengan nama tes_mysql.php dan ketikkan kode berikut :
<?php
$db = mysqli_connect("localhost","joko","JokoA1","gudang");
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
exit();
}
$query = mysqli_query($db, "select * from barang");
$row = mysqli_fetch_array($query);
echo "Kode : ".$row['kode'].", Nama : ".$row['nama'];
?>
Simpan file dan kemudian bukalah browser dan ketikkan alamat berikut :
http://localhost/tes_mysql.php
Jika data berhasil ditampilkan pada script PHP yang kita buat, maka selamat setting dan instalasi MySQL untuk PHP telah berhasil. Sekarang anda dapat membuat aplikasi web yang membutuhkan DBMS MySQL pada Ubuntu. Semoga artikel ini bermanfaat stay tuned 😉