Cara membuat hak akses user di mysql

Memberikan hak akses atau grant pirivileges pada MySQL sebenarnya sangat mudah. Namun, meskipun mudah tidak semua orang dapat mengingatnya dengan baik. Pada tulisan ini kita akan membahas mengenai cara memberikan hak asks pada user database MySQL, atau istilahnya adalah grant privileges.

Diasumsikan teman-teman sudah bisa login ke MySQL dengan akun root. Kenapa root? Karena root memiliki hak akses untuk mengatur manajemen user, hal ini tentunya by default. User lain bisa saja memiliki all privileges seperti root, kalau memang sudah diatur.

Untuk masuk ke MySQL, teman-teman bisa membuka terminal jika menggunakan MacOS atau Linux, dan bisa juga lewat CMD atau Git Bash jika di Windows.

Lalu masuk menggunakan perintah:

#mysql –uroot –p

Lalu masukan password root teman-teman Setelah login berhasil aka nada tulisan Mysql>.

 

Membuat User Baru

Setelah berhasil menggunakan akun root, kita bisa membuat user dengan perintah dibawah ini.

Mysql> CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';

 

Pada perintah diatas,’newuser’ adalah username baru yang akan dibuat, dan localhost adalah hostnya. Tentunya teman-teman bisa mengganti localhost dengan host client mysql teman-teman, atau menggantinya dengan % jika ingin bsa diakses dimana-mana. Jika menggunakan localhost, maka yang bisa mengakses hanya dari server yang sama. Kemudian, password adalah password untuk user baru tersebut.

 

Memberikan hak akses

Misalnya kita akan memberikan semua privileges ke user tadi, berarti kita bisa menggunakan perintah sebagai berikut:

Mysql> GRANT ALL PRIVILEGES ON * . * TO 'newuser'@'localhost';

 

*.* berarti semua database dan semua kolom, missal hanya ingin memberikan akses ke satu database saja, teman-teman bisa membuat perintah seperti ini:

 

Mysql> GRANT ALL PRIVILEGES ON nama_db . * TO 'newuser'@'localhost';

 

Kemduian, all privileges berarti semua privileges dari menambah, mengubah, dan lain sebagainya. Teman-teman bisa menggantinya dengan list berikut:

Hak Akses

Keterangan

ALL [PRIVILEGES]

Memberikan seluruh hak akses, kecuali GRANT OPTION

ALTER

Hak akses untuk merubah tabel (ALTER TABLE)

ALTER ROUTINE

Hak akses untuk merubah stored routines

CREATE

Hak akses untuk membuat tabel dan database

CREATE ROUTINE

Hak akses untuk membuat dan menghapus stored routine

CREATE TABLESPACE

Hak akses untuk membuat, mengubah dan menghapus tablespaces dan log file

CREATE TEMPORARYTABLES

Hak akses untuk membuat tabel sementara CREATE TEMPORARY TABLE

CREATE USER

Hak akses untuk membuat, menghapus, dan mengubah user (CREATE USER, DROP USER, RENAME USER, dan REVOKE ALL PRIVILEGES)

CREATE VIEW

Hak akses untuk membuat dan mengubah views

DELETE

Hak akses untuk menghapus data (DELETE)

DROP

Hak akses untuk menghapus database, tabel dan view

EVENT

Hak akses untuk membuat event

EXECUTE

Hak akses untuk menjalankan stored routines

FILE

Hak akses untuk membuat server membaca maupun membuat file

GRANT OPTION

Hak akses untuk memberikan hak akses kepada user lainnya.

INDEX

Hak akses untuk membuat dan menghapus index

INSERT

Hak akses untuk menambahkan data (query INSERT)

LOCK TABLES

Hak akses untuk mengunci tabel (LOCK TABLES)

PROCESS

Hak akses untuk melihat seluruh proses (SHOW PROCESSLIST)

PROXY

Hak akses untuk proses proxy

REFERENCES

Belum diimplementasikan

RELOAD

Hak akses untuk operasi FLUSH

REPLICATION CLIENT

Hak akses untuk mengubah urutan master dan slave server

REPLICATION SLAVE

Hak akses untuk server replikasi untuk membaca log event biner dari server master

SELECT

Hak akses untuk melihat data (query SELECT)

SHOW DATABASES

Hak akses untuk melihat seluruh database (SHOW DATABASES)

SHOW VIEW

Hak akses untuk melihat pembuatan view (SHOW CREATE VIEW)

SHUTDOWN

Hak akses untuk mysqladmin shutdown

SUPER

Hak akses untuk fungsi administrasi server, seperti CHANGE MASTER TO, KILL, PURGE BINARY LOGS, SET GLOBAL, dan perintah debug mysqladmin

Di artikel ini saya mau share materi mysql, bagaimana memberikan hak akses database ke user baru pada mysql yang pernah saya pelajari.

Saat kalian baru membuat user akses pada mysql, user tersebut tentunya belum dapat membuat ataupun mengakses database, tabel dan field, jadi hal yang perlu kalian lakukan adalah membuat privileges atau hak akses dari user tersebut agar dapat mengakses dan membuat database, tabel, ataupun field.

Karena disini saya menggunakan aplikasi xampp untuk memperaktekannya pastikan sebelum ke pembahasan kalian sudah tahu tentang :

Cara Membuat Database MySQL XAMPP di CMDCara Menggunakan XAMPP Untuk Menjalankan Apache dan MySQL

Cara Membuat Membuat Hak Akses User MySQL (Privileges)

Privileges dalam SQL merupakan hak akses query SELECT, INSERT, DELETE, UPDATE yang dimana suatu user dapat di manage hak akses nya.

Cara Membuat User Mysql

Untuk ke langkah pembuatan hak akses, yang perlu dilakukan adalah membuat user akses mysqlnya terlebih dahulu

1

2

[mysql]> create user 'db_ananda'@'localhost' identified by '12345_db';

Query OK, 0 rows affected (0.009 sec)

Setelah sudah berhasil membuat user baru kalian dapat mencoba terlebih dahulu untuk mengakses mysql menggunakan user baru tersebut jika, jika kalian baru membuat user baru untuk akses ke database masih ter restrict.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

c:\xampp\mysql\bin>mysql -u db_ananda -p

Enter password: ********

Welcome to the MariaDB monitor.  Commands end with ; or \g.

Your MariaDB connection id is 112

Server version: 10.4.18-MariaDB mariadb.org binary distribution

 

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

 

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

 

MariaDB [(none)]> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| test               |

+--------------------+

2 rows in set (0.001 sec)

 

MariaDB [(none)]>

Jika hak akses belum dibuat user akses belum dapat digunakan untuk query SELECT, INSERT, DELETE, UPDATE.

Cara Memberikan Hak Akses Penuh Ke User Mysql

Jika kalian ingin memberikan hak akses penuh kepada akses user setara dengan hak akses user root.

1

2

3

4

5

[mysql]> grant all privileges on *.* to 'db_ananda'@'localhost';

Query OK, 0 rows affected (0.006 sec)

 

[mysql]> flush privileges;

Query OK, 0 rows affected (0.006 sec)

Cara Memberikan Hak Akses Database Tertentu Ke User Akses Mysql

Jika kalian ingin memberikan hak akses ke user mysql hanya untuk beberapa database saja

1

2

[mysql]> grant all on db_19200236.* to 'db_ananda'@'localhost';

Query OK, 0 rows affected (0.010 sec)

Untuk sintaks “grant all on” ini merupakan query printah yang digunakan untuk memberikan akses semua yang ada di database “db_19200236” kemudian penambahan (.*) yang artiannya memberikan seluruh hak akses tabel dan field to user akses (‘db_ananda’@’localhost’)

Jadi untuk user akses mysql ‘db_ananda’@’localhost’ ini hanya memiliki akses query full di satu database (db_19200236) saja.

Berikut tadi dua versi cara membuat hak akses user mysql yang umum sering digunakan jika kalian menemukan penjelasan yang kurang pas kalian bisa komen di bawah ya, karena saya saat menulis ini sedang tahapan belajar.

Apa hak akses untuk user?

Hak akses adalah izin atau hak istimewa yang diberikan kepada pengguna untuk membuat, mengubah, menghapus atau melihat data dalam sebuah aplikasi sebagaimana ditetapkan oleh aturan yang dibuat oleh pemilik data dan sesuai kebijakan keamanan informasi.

Query SQL apa yang digunakan untuk memberikan hak akses kepada seorang user?

Sintaks untuk memberikan (Grant) hak akses (Privileges) pada tabel di SQL Server adalah: GRANT jenis_privileges ON nama_tabel TO nama_user; Berikut adalah keterangan dari sintaks diatas: jenis_privileges adalah jenis hak akses yang dapat diberikan atau dihapuskan.

Apa yang dimaksud dengan hak akses privileges pada MySQL?

Secara singkat, maksud User Privilege MySQL adalah hak akses yang diberikan untuk pengguna tertentu agar bisa mengakses database beserta isinya di MySQL. Hak akses ini bersifat custom, artinya masing-masing pengguna bisa punya privilege yang berbeda.

Apa yang dimaksud dengan hak akses?

Hak Akses adalah hak yang diberikan oleh Menteri kepada petugas yang ada pada Penyelenggara, instansi pelaksana dan Pengguna untuk dapat mengakses Basis Data Kependudukan sesuai dengan izin yang diberikan.