[Tips] Mengatur Grant User MySQL

Jika kita adalah seorang system administrator, atau network engineer, atau software engineer, maka kita akan sering berhadapan dengan proses administrasi installasi database server, misal : Installasi MySQL. Proses installasi MySQL memiliki beberapa tahap. Setelah melakukan installasi software MySQL Server, akan dilanjutkan installasi database mysql itu sendiri. Selanjutnya pekerjaan penting seorang system administrator adalah mengatur Grant atau hak akses masing-masing user.

Pengaturan hak akses itu sendiri dilakukan di dalam prompt MySQL dengan mode “root”. Pengaturan hak akses dapat dilakukan dengan melakukan perintah utama mysql : GRANT. Untuk user root, akan selalu memiliki hak akses terhadap apapun, termasuk membuat GRANT. Contoh membuat grant adalah:

 

GRANT ALL PRIVILEGE ON `namadatabase`.* to 'namauser'@'host' identified by 'password';

Artinya adalah bahwa dibuat grant baru yang memberikan segala hak kepada ‘namauser’ yang login di ‘host’ dengan password ‘password’. Grant yang diberikan termasuk MEMBUAT, dan MENGHAPUS. Untuk memberikan grant sebagian dapat diberikan perintah seperti berikut :

GRANT SELECT on `namadatabase`.`satu` to namauser@localhost identified by 'pass1';

Yang artinya adalah user ‘namauser’ yang hanya boleh login dari localhost dengan password = pass1 hanya boleh melakukan SELECT terhadap tabel ‘satu’ dalam database ‘namadatabase’

Kadang terdapat kebutuhan agar seorang user dapat membuat database dan menghapus database tertentu. Maka kita dapat membuat grant seperti demikian :

use mysql;
GRANT ALL PRIVILEGES on `bimo_%`.* to bimo@'%' identified by 'bimpass';

Artinya adalah saya membuat grant untuk user ‘bimo’ agar dapat membuat segala database selama diawali dengan prefix “bimo_” dan dilakukan dengan login password ‘bimpass’

Jangan lupa seteah melakukan granting, lakukanlah perintah :

flush privileges;

agar aturan granting yang baru segera dapat diberlakukan..

Semoga berguna

Operasional File Melalui Perintah SQL (SQL Command for File Operation)

MySQL adalah salah satu bentuk database server yang bersifat Opensource. MySQL ini menjadi banyak pilihan karena sifatnya yang opensource, updated dan mudah dicari resource / literatur belajarnya. Biasanya para operator SQL menggunakan sintaks-sintaks SQL ini untuk keperluan: DDL (Data Definition Language), DML (Data Manipulation Language), DCL (Data Control Language) dan untuk beberapa jenis database terdapat TCL (Transaction Control Language).

Apakah itu?Hal itu akan dijelaskan pada bagian sub bab di bawah.

Namun SQL untuk MySQL juga memiliki command sintaks yang cukup ampuh sekaligus berbahaya, yaitu sintaks untuk berhubungan dengan file tertentu. Dua sintaks penting diantaranya adalah:

LOAD_FILE('path_file');

dan

INTO OUTFILE('path_tujuan');

 

Contoh penggunaannya adalah :

SELECT LOAD_FILE('/home/web/test.txt');

untuk keperluan membaca file ‘/home/web/test.txt’. Contoh lainnya dapat dikombinasikan seperti berikut:

INSERT INTO `table` (`id`,`text`) VALUES ('2',LOAD_FILE('/home/web/test.txt'));

 

Sedangkan satunya dapat digunakan seperti berikut:

SELECT `text` FROM `table` WHERE `id`='2' INTO OUTFILE('/home/web/test.txt');

biasanya digunakan untuk mengambil data dan dijadikan file text.

 

 

Selamat Mencoba. Perlu diingat bahwa sebagai seorang sistem administrator, maka kita harus baik-baik mengatur permission dari MySQL. Jangan sampai perintah-perintah mudah MySQL ini menjadi masalah di kemudian hari, karena cukup banyak hacker atau program hacker menggunakan perintah-perintah ini untuk menyusup masuk ke dalam server. Semoga bermanfaat

 

DDL, DML, DCL, TCL

DDL Adalah singkatan dari Data Definition Language. Biasanya digunakan untuk menentukan struktur data tabel dan skemanya. Sintaks yang termasuk DDL antara lain : CREATE, ALTER, DROP, RENAME, TRUNCATE, COMMENT

DML adalah singkatan dari Data Manipulation Language. Digunakan untuk operasional record data. Sintaks yang termasuk diantaranya antara lain: LOCK TABLE, UNLOCK TABLE, SELECT, INSERT, UPDATE, DELETE, MERGE

DCL adalah singkatan dari Data Control Language. Digunakan untuk melakukan kontrol database. Sintaks yang biasa digunakan adalah GRANT