## METODE RESET PASSWORD LEVEL ROOT PADA RELATIONAL DATABASE MANAGEMENT SYSTEM (RDBMS) MySQL
Oleh : Taqwa Hariguna, ST.,M.Kom
(Dosen STMIK AMIKOM Purwokerto)

## Abstrak
Database  merupakan  sebuah  hal  yang  penting  untuk  menyimpan  data,  dengan database  organisasi  akan  mendapatkan  keuntungan  dalam  beberapa  hal,  seperti kecepatan  akases  dan  mengurangi  penggunaan  kertas,  namun  dengan implementasi  database  tidak  jarang  administrator  database  lupa  akan  password yang  digunakan,  hal  ini  akan  mempersulit  dalam  proses  penangganan  database. Penelitian  ini  bertujuan  untuk  menggali  cara  mereset  password  level  root  pada relational database management system MySQL.

## Kata Kunci  : Database, MySQL, Root

## A. PENDAHULUAN
Database  atau  biasa  di  sebut  basis  data  merupakan  sebuah  tempat penyimpanan  data  yang  bersifat  metadata,  penggunaan  basis  data  pengganti  dari penggunaan  file  atau  arsif  secara  konvensional.  Dengan  penggunaan  basis  data diharapkan  dapat  memberikan  keuntungan  yang  bagi  pengguna  antara  lain  1. Kecepatan dalam proses pencarian, 2. Menggurangi penggunaan ruang dan kertas, 3.  Menghilangkan  terjadinya  inkonsistensi  data,  4.  Memudahkan  dalam  proses penyampaian informasi untuk mendukung pengambilan keputusan.
Hal-hal teknis yang harus diperhatikan oleh seorang database administrator adalah  keamanan  data  yang  harus  dapat  terjaga  dengan  baik,  dikarenakan keamanan  data  merupakan  sebuah  hal  yang  sangat  penting  untuk  menjaga kerahasian  dan  menjaga  konsistensi  data.  Dengan  demikian  dibutuhkan  sebuah databases yang baik dan penggelolahan keamanan yang baik.
MySQL adalah sebuah perangkat lunak (baca : Software), yang digunakan untuk memanajemen basis data baik secara relational maupun objek.  Keuntungan dalam  menggunakan  basis  data  MySQL  antara  lain  1.  Bersifat  free  dan  Open
Source,  2.  Unsur  keamanan  yang  kuat,  3.  Penggunaan  model  table  yang  dapat disesuaikan dengan kebutuhan, 3. Multiplatform.
Dengan  adanya  tingkat  keamana  yang  tinggi  di  terapkan  pada  database MySQL  maka  tidak  jarang  administrator  harus  membuat  hak  akses  dengan menggunakan  password  yang  sulit,  hal  ini  untuk  menjaga    agar  tidak  ada  pihak dapat  menembus  level-level  tertentu  pada  database,  namun  hal  ini  membuat administrator menjadi kesulitan dalam mengingat password yang dibuat, sehingga tidak  jarang  seorang  administrator  database  lupa  akan  password  yang  telah  di buat.
Pada  paper  ini  akan  membahas  sebuah  metode  untuk  meriset  password pada  database  MySQL,  tujuannya  untuk  memudahkan  administrator  untuk mengelolah database yang telah dibuat.
Basis  data  dapat  didefinisikan  dalam  sejumlah  sudut  pandang,  seperti menurut  Connolly  (2002,p14),  definisi  basis  data  adalah  kumpulan  data  yang dihubungkan secara bersama-sama, dan gambaran dari data yang dirancang untuk memenuhi kebutuhan informasi dari suatu organisasi. Berbeda dengan sistem file yang  menyimpan  data  secara  terpisah,  pada  basis  data  data  tersimpan  secara terintegrasi. Basis data bukan menjadi milik dari suatu departemen tetapi sebagai sumber daya perusahaan yang dapat digunakan bersama.
Menurut Date (1990,p5), definisi dari basis data adalah kumpulan terintegrasi dari file yang merupakan representasi data dari suatu model enterprise .
Sedangkan menurut Fathansyah (1999,p2), basis data adalah :
1. Himpunan kelompok data (arsip) yang saling berhubungan yang diorganisasi sedemikian  rupa  agar  kelak  dapat  dimanfaatkan  kembali  dengan  cepat  dan mudah.
2. Kumpulan  data  yang  saling  berhubungan  yang  disimpan  secara  bersama sedemikian  rupa  dan  tanpa  pengulangan  (redudansi)  yang  tidak  perlu,  untuk memenuhi berbagai kebutuhan.
3. Kumpulan file atau  tabel  atau arsip  yang saling berhubungan  yang disimpan dalam media penyimpanan elektronis.
Data  dalam  basis  data  disimpan  dalam  tiga  struktur,  yaitu file ,  tabel  atau  objek. File terdiri dari record dan field , tabel terdiri dari baris dan kolom. Objek terdiri dari  data  dan  instruksi  program  yang  memfungsikan  data.  Tabel  terdiri  dari kolom-kolom yang saling terkait, seperti file yang terdiri dari record yang saling terkait. File didalam  basis  data  dapat  terhubung  kepada  beberapa  tabel.  Dalam sebuah tabel, data pada tiap kolom terdiri dari ukuran dan tipe yang sejenis ( char / numeric ).

## Gambar 1 Skema Proyek Basis Data
Ada tiga tahap dalam pembuatan basis data yaitu :
1. Perancangan  konseptual,  yaitu  pembuatan  model  basis  data  yang  bersifat konseptual berdasarkan ‘kebutuhan sistem’ yang merupakan hasil dari proses “ Requirement Collection and Analyst
2. Perancangan  logis,  biasa  disebut  pemetakan  model  data.  Yaitu  pemetakan model konseptual ke model fisik yang disesuaikan dengan spesifikasi DBMS yang akan digunakan.
3. Perancangan  fisik,  yaitu  implementasi  basis  data  yang  akan  disimpan  dalam media penyimpanan.
Dalam  pembuatan  basis  data,  ada  beberapa  hal  yang  perlu  diperhatikan, diantaranya adalah :
1. Penentuan model basis data yang digunakan
2. Perancangan  sampai  pembuatan  basis  data  di  dalam  suatu  DBMS  yang sesuai dengan model basis data yang dipilih
Gambar 2. Skema Perancangan Basis Data
MySQL adalah suatu perangkat lunak database relasi (Relational Database Management  System  atau  RDBMS),  seperti  halnya  ORACLE,  Postgresql,  MS SQL,  dan  sebagainya.  MySQL  AB  menyebut  produknya  sebagai  database  open source terpopuler di dunia. Berdasarkan riset dinyatakan bahwa bahwa di platform Web,  baik  untuk  kategori  open  source  maupun  umum,  MySQL  adalah  database yang paling banyak dipakai. Menurut perusahaan pengembangnya, MySQL telah terpasang  di  sekitar  3  juta  komputer.  Puluhan  hingga  ratusan  ribu  situs mengandalkan  MySQL  bekerja  siang  malam  memompa  data  bagi  para pengunjungnya.
Gambar 3. Konsep Database Client Server
Di seri 3.22 MySQL mulai diadopsi banyak orang dan meningkat populasi penggunanya,  maka  di  seri  3.23  dan  4.0  terjadi  banyak  peningkatan  dari  sisi teknologi.  Ini  tidak  terlepas  dari  tuntutan  pemakai  yang  semakin  mengandalkan MySQL, namun membutuhkan fitur-fitur yang lebih banyak lagi.
Seri  3.23.  Di  seri  3.23  MySQL  menambahkan  tiga  jenis  tabel  baru: pertama  MyISAM,  yang  sampai  sekarang  menjadi  tipe  tabel  default;  kedua BerkeleyDB,  yang  pertama  kali  menambahkan  kemampuan  transaksi  pada MySQL; dan ketiga InnoDB, primadona baru yang potensial.
Seri 4.x. Di seri yang baru berjalan hingga 4.0 tahap alfa ini, pengembang MySQL  berjanji  akan  menjadikan  MySQL  satu  derajat  lebih  tinggi  lagi.  Fitur- fitur  yang  sejak  dulu  diminta  akan  dikabulkan,  seperti  subselek  (di  4.1),  union (4.0), foreign key constraint (4.0 atau 4.1 meski InnoDB sudah menyediakan ini di 3.23.x),  stored  procedure  (4.1),  view  (4.2),  cursor  (4.1  atau  4.2),  trigger  (4.1). MySQL  AB  tetap  berdedikasi  mengembangkan  dan  memperbaiki  MySQL,  serta mempertahankan MySQL sebagai database open source terpopuler.
Penyebab utama MySQL begitu popular di kalangan Web adalah karena ia memang  cocok  bekerja  di  lingkungan  tersebut. Pertama, MySQL  tersedia  di berbagai  platform  Linux  dan  berbagai  varian  Unix.  Sesuatu  yang  tidak  dimiliki Access,  misalnya  padahal  Access  amat  popular  di  platform  Windows.  Banyak
server Web berbasiskan Unix, ini menjadikan Access otomatis tidak dapat dipakai karena ia pun tidak memiliki kemampuan client-server/networking.
Kedua, fitur-fitur  yang  dimiliki  MySQL  memang  yang  biasanya  banyak dibutuhkan  dalam  aplikasi  Web.  Misalnya,  klausa  LIMIT  SQL,  praktis  untuk melakukan paging. Atau jenis indeks field FULLTEXT, untuk full text searching. Atau  sebutlah  kekayaaan  fungsi-fungsi  builtinnya,  mulai  dari  memformat  dan memanipulasi  tanggal,  mengolah  string,  regex,  enkripsi  dan  hashing.  Yang terakhir misalnya, praktis untuk melakukan penyimpanan password anggota situs. Ketiga, MySQL  memiliki  overhead  koneksi  yang  rendah.  Soal  kecepatan melakukan  transaksi  atau  kinerja  di  kondisi  load  tinggi  mungkin  bisa diperdebatkan dengan berbagai benchmark berbeda, tapi kalau soal  yang satu ini MySQL-lah  juaranya.  Karakteristik  ini  membuat  MySQL  cocok  bekerja  dengan aplikasi  CGI,  di  mana  di  setiap  request  skrip  akan  melakukan  koneksi, mengirimkan  satu  atau  lebih  perintah  SQL,  lalu  memutuskan  koneksi  lagi. Cobalah melakukan hal ini dengan Interbase atau bahkan Oracle.

## B. METODOLOGI PENELITIAN
Pada  penelitian  ini  metode  yang  digunakan  adalah  studi  pustaka  dan eksperimental  dengan  objek  database  relational  management  system  MySQL. Sistem operasi yang digunakan terdiri dari dua sistem operasi yaitu sistem operasi GNU/Linux dan sistem operasi Windows XP.

## C. HASIL PENELITIAN DAN PEMBAHASAN
Dalam membangun  database  yang  baik,  pengaturan  hak  akses  bagi pengguna  mutlak  di  perlukan  untuk  menjaga  keamanan  data  tersebut.  Pada MySQL  dan  beberapa  Relational  Database  Management  System  (RDBMS) perintah Menggunakan Perintah Grant digunakan untuk Izin Akses Database . Izin akses database digunakan untuk mengakses tabel-tabel yang berada pada database yang telah ditentukan. Konfigurasi akses ini terletak pada tabel db dan tabel host.
Untuk memberikan izin akses database pada user dapat dilakukan perintah berikut:
mysql> grant all on nm_db.* to nm_user@localhost identified by ‘nm_passwd’;
Sedangkan  untuk  mengetahui  izin  akses  pada  user  MySQL,  kita  bisa menggunakan perintah show grants. Bisa dilihat contoh dibawah:
mysql> show grants for nm_user@localhost;
Menggunakan Perintah Grant untuk Izin Akses Tabel
Izin  akses  tabel  digunakan  untuk  mengatur  akses  terhadap  semua  kolom  yang terdapat  pada tabel  yang telah ditentukan.  Ini  terdapat  perintah izin  akses Select, Insert, Update, Delete, Create, Drop, Grant, References, Index dan Alter.
Selanjutnya  untuk  menggunakan  izin  akses  tabel  dapat  menggunakan  perintah berikut :
mysql>  grant  select  on  nm_db.nm_tbl  to  nm_user@localhost  identified  by ‘nm_passwd’;
Dari  perintah  di  atas  mempunyai  arti  bahwa  user  tersebut  hanya  diperbolehkan untuk melakukan perintah select pada tabel yang telah ditentukan dalam database. Apabila kita melakukan  perintah insert  maka akan direspon oleh MySQL bahwa user tersebut tidak bisa melakukan perintah insert.

## Reset Password Root MySQL
Pada  prinsipnya  mereset  password  database  sangat  tidak  di  anjurkan, dikarenakan  pada  saat  password  database  di  reset  maka  seluruh  privilege  (hak akses  user)  akan  terbuka.  Sehingga  setiap  user  pada  database  harus  membuat account mereka yang baru.
Namun  jika  terdapat  kesalahan  fatal  atau  demi  keperluan  reengineering maka  proses  tersebut  dapat  di  lakukan.  Untuk  melakukan  reset  password,
dikerjakan  di  dalam  konsol  dengan  user  root.  Berikut  ini  metode  reset  password pada database MySQL.

## Matikan service MySQL
# service mysqld stop
atau # /etc/init.d/mysqld stop
Jalankan service MySQL dalam safe mode
# mysqld_safe –skip-grant-tables
Login sebagai root
# mysql -u root
Update atau ubah password root MySQL
mysql> use mysql;
mysql> UPDATE user SET password = PASSWORD (’password_baru_anda’) WHERE user=’root’;
mysql> FLUSH PRIVILEGES;
mysql> quit;
Restart service MySQL
# service mysqld start
atau
# /etc/init.d/mysqld start
Setelah  selesai  maka  password  baru  telah  tercipta,  dan  database  bisa kembali digunakan.

## D. KESIMPULAN DAN SARAN
Dengan  menggunakan  metode  reset  password  pada  level  root  dapat memberikan sebuah solusi apabila terjadi kesalahan pada akses di level root.
Namun  seorang  administrator  database  harus  berhati-hati  dengan  reset level root ini, dikarenakan setiap akses pada user akan terbuka dengan sendirinya dan  memungkinkan  setiap  user  dapat  mengakses  level-level  tertentu  pada database.

## DAFTAR PUSTAKA
Dwi  Prasetyo,  Didik  : Administrator  database  server  MySQL. Elex  Media Komputindo 2002.
Davies,  Alex  . High  Availability  MySQL  Cookbook. Packt  Publishing  (April  27,
2010)
Pachev.Alexander Sasha. MySQL Enterprise Solutions. Wiley (February 4, 2003) Suehring, Steve. MySQL Bible. Wiley (June 15, 2002)
Schneller, Daniel  and Schwedt, Udo . MySQL Admin Cookbook. Packt Publishing (March 15, 2010)
Zawodny , Jeremy D. and Balling, Derek J. High Performance MySQL. O'Reilly Media; 1 edition (April 8, 2004)