Install MySQL Server di Ubuntu 22.04
- Get link
- X
- Other Apps
update
$ sudo apt update
install mysql server
$ sudo apt install mysql-server
untuk memastikan MySQL Server sudah terinstall, cek versinya dengan menggunakan perintah :
$ sudo mysql --version
Output : mysql Ver 8.0.33-0ubuntu0.20.04.2 for Linux on x86_64 ((Ubuntu))
1. MySQL Secure Installation
Kemudian jalankan perintah berikut :
$ sudo mysql_secure_installation
Silahkan menentukan level validasi, aksi terhadap anonymous user, izin akses mysql secara remote dan aksi terhadap database test.
Saya pribadi biasanyanya level validasi pilih yang medium, menghapus anonymous user, mengizinkan akses mysql secara remote karena saya menginstallnya di server, kemudian menghapus database test.
2. Jika MySQL Secure Installation Error
Jika tidak error, silahkan lanjut ke point ke 3 (Lanjutan). Namun jika kita mendapatkan pesan error berikut :
... Failed! Error: SET PASSWORD has no significance for user 'root'@'localhost' as the authentication method used doesn’t store authentication data in the MySQL server. Please consider using ALTER USER
kill proses mysql_secure_installation dengan perintah :
$ sudo killall -9 mysql_secure_installation
masuk ke MySQL
$ sudo mysql
lakukan query setting password, gantikan teks PasswordBaru dengan password yang kita inginkan untuk user root
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'PasswordBaru';
mysql> exit;
Kemudian silahkan ulangi ke point 1 (Mysql Secure Installation)
3. Lanjutan
Setting mysql agar bisa diakses melalui komputer lain yang terhubung dalam jaringan.
$ sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
Ganti teks :
bind-address = 127.0.0.1
menjadi :
bind-address = 0.0.0.0
4. Membuat Database Baru
masuk ke MySQL dengan user root
$ sudo mysql -u root -p
buat database baru dengan nama 'db_development'
mysql> create database db_development;
buat user mysql baru dengan nama 'new_user' dan password 'rahasia'.
mysql> create user 'dev'@'%' identified by 'rahasia';
Keterangan perintah diatas :
tanda % itu disebut wildcard, yang memungkinkan user dapat mengakses database melalui ip manapun selama terhubung dengan server dalam suatu jaringan. kita dapat mengatur ip address yang spesifik untuk meningkatkan keamanan. Perintah diatas dapat dibaca : buat user dengan nama dev yang dapat mengakses database melalui komputer manapun didalam jaringan dengan password rahasia.
Kemudian kita perlu memberikan seluruh hak akses pada database db_development kepada user dev agar dapat mengelola database tersebut.
mysql> GRANT ALL ON db_development.* TO 'dev'@'%';
ALL menjadikan user dev dapat mengeksekusi seluruh query pada db_development, baik itu query SELECT, UPDATE, DELETE maupun perintah ALTER. sehingga perintah diatas dapat dibaca : berikan hak akses seluruh perintah terhadap database db_development dan seluruh tabel yang ada didalamnya kepada user dev melalui komputer manapun didalam jaringan.
Kemudian, jalankan perintah :
mysql> FLUSH PRIVILEGES;
mysql> EXIT;
berdasarkan konfigurasi tersebut, kita dapat mengelola database db_development menggunakan user dev dengan konfigurasi :
DATABASE NAME : db_development
DATABASE USERNAME : dev
DATABASE PASSWORD : rahasia
Untuk mengakses database, saya menggunakan aplikasi Beekeeper Studio, berikut setting connection berdasarkan konfigurasi diatas :
Semoga tutorial ini bermanfaar. Terima kasih.
Comments
Post a Comment