Cara membuat database username dan password di mysql

Setelah memahami pengertian Superuser root dan Privileges dalam MySQL, serta pentingnya membatasi hak akses user, dalam tutorial kali ini kita akan mempelajari cara membuat user MySQL, membatasinya dengan password, membatasi hak akses dari alamat IP, serta menghapus user dalam MySQL.

Pembuatan user baru dalam MySQL, hanya dapat dilakukan menggunakan user root, atau user yang diberikan hak akses GRANT OPTION (pembahasan tentang GRANT OPTION akan kita bahas dalam artikel lainnya).

img

Di karenakan kita akan sering keluar masuk mysql mengunakan beberapa user, maka untuk mengikuti tutorial ini disarankan menggakses MySQL secara manual dari DOS, seperti pada Tutorial Belajar MySQL: Menjalankan MySQL Client.


Menyiapkan Database Sample: universitas

Sebagai database contoh yang akan digunakan untuk belajar membuat user baru MySQL, kita akan membuat sebuah database universitas. Silahkan masuk dengan user root ke dalam MySQL Server.

D:\MySQL\bin>mysql -u root –pqwerty
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.5.27 MySQL Community Server (GPL)

Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

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

mysql> CREATE DATABASE universitas;
Query OK, 1 row affected (0.00 sec)

mysql> USE universitas;
Database changed

Database ini akan memiliki 2 buah tabel, yakni tabel mahasiswa_ilkom, dan tabel mahasiswa_ekonomi. Masing-masing tabel berisi tentang data mahasiswa. Dalam query berikut, kita membuat kedua tabel tersebut dan menyiapkan data sampel sebagai contoh.

mysql> CREATE TABLE mahasiswa_ilkom ( nim CHAR(9), nama CHAR(50), umur INT, 
tempat_lahir CHAR(50), IPK DECIMAL (3,2) );
Query OK, 0 rows affected (0.01 sec)

mysql> INSERT INTO mahasiswa_ilkom VALUES ('089045001', 'Andi Suryo', 23, 
'Jakarta', 2.7);
Query OK, 1 row affected (0.05 sec)

mysql> INSERT INTO mahasiswa_ilkom VALUES ('109245021', 'Santi Syanum',
 21, 'Malang', 3.2);
Query OK, 1 row affected (0.04 sec)

mysql> INSERT INTO mahasiswa_ilkom VALUES ('099145055', 'Neil Situmorang',
 22, 'Medan', 1.9);
Query OK, 1 row affected (0.12 sec)

mysql> CREATE TABLE mahasiswa_ekonomi ( nim CHAR(9), nama CHAR(50), 
umur INT, tempat_lahir CHAR(50), IPK DECIMAL (3,2) );
Query OK, 0 rows affected (0.01 sec)

mysql> INSERT INTO mahasiswa_ekonomi VALUES ('089023013', 
'Alex Supriyanto', 23, 'Surabaya', 2.9);
Query OK, 1 row affected (0.04 sec)

mysql> INSERT INTO mahasiswa_ekonomi VALUES ('109223041', 'Rani Sabrina',
 21, 'Padang',3.7);
Query OK, 1 row affected (0.04 sec)

mysql> INSERT INTO mahasiswa_ekonomi VALUES ('099123043', 'Ocha Septriani',
 22,'Makasar', 3.1);
Query OK, 1 row affected (0.05 sec)

mysql> SELECT * FROM mahasiswa_ilkom;
+-----------+-----------------+------+--------------+------+
| nim       | nama            | umur | tempat_lahir | IPK  |
+-----------+-----------------+------+--------------+------+
| 089045001 | Andi Suryo      |   23 | Jakarta      | 2.70 |
| 109245021 | Santi Syanum    |   21 | Malang       | 3.20 |
| 099145055 | Neil Situmorang |   22 | Medan        | 1.90 |
+-----------+-----------------+------+--------------+------+
3 rows in set (0.00 sec)

mysql> SELECT * FROM mahasiswa_ekonomi;
+-----------+-----------------+------+--------------+------+
| nim       | nama            | umur | tempat_lahir | IPK  |
+-----------+-----------------+------+--------------+------+
| 089023013 | Alex Supriyanto |   23 | Surabaya     | 2.90 |
| 109223041 | Rani Sabrina    |   21 | Padang       | 3.70 |
| 099123043 | Ocha Septriani  |   22 | Makasar      | 3.10 |
+-----------+-----------------+------+--------------+------+
3 rows in set (0.00 sec)

Cara Membuat User Baru dalam MySQL

Untuk membuat user baru, MySQL menyediakan query CREATE USER, berikut format dasar perintah:

CREATE USER 'nama_user';
  • nama_user adalah nama dari user yang akan dibuat, maksimal 16 karakter.

Untuk database universitas, kita akan membuat user ilkom_admin, berikut contoh querynya:

mysql> CREATE USER 'ilkom_admin';
Query OK, 0 rows affected (0.09 sec)

Dengan query CREATE USER tersebut, sebuah user baru telah dibuat di dalam MySQL Server. Untuk mencoba menggunakan user tersebut, kita harus keluar dari user root yang digunakan saat ini, dan login sebagai ilkom_admin.

img

Agar bisa keluar dari user root dan masuk sebagai user lainnya, harus mengakses MySQL Client dari CMD Windows. Untuk penjelasan lebih lanjut dapat dipelajari dalam artikel Tutorial Belajar MySQL: Menjalankan MySQL Client.

mysql> exit;
Bye

D:\MySQL\bin>mysql -u ilkom_admin

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 4

Server version: 5.5.27 MySQL Community Server (GPL)
Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

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

mysql>

Pada contoh diatas, pertama-tama kita menggunakan perintah exit untuk keluar dari root. Setelah itu kita log in menggunakan user yang baru saja dibuat, yakni ilkom_admin.

img

Jika anda memeriksa database untuk user ini, user ilkom_admin belum memiliki hak akses untuk database apapun. Kita akan membahasnya pada tutorial selanjutnya.

mysql> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
+--------------------+
1 row in set (0.10 sec)

Terlihat bahwa hasil SHOW DATABASES dari user ilkom_admin hanya berisi database information_schema. Database information_schema sendiri bukan merupakan database ‘asli’. information_schema akan ada untuk setiap user MySQL dan hanya database ‘virtual’ yang digunakan untuk menyimpan metadata (data keterangan) tentang database. Kita hanya bisa menggunakan query SELECT untuk database ini, tetapi tidak untuk query DELETE, INSERT, maupun UPDATE.


Cara Membuat User dalam MySQL dengan Password

User ilkom_admin yang baru saja dibuat, dapat diakses oleh siapapun sepanjang ia mengetahui username yang digunakan, yakni ilkom_admin.

Untuk menambah keamanan, kita seharusnya menambahkan password yang harus diinputkan oleh user pada saat login. Format dasar querynya:

CREATE USER 'nama_user' IDENTIFIED BY 'password' ;
  • nama_user adalah nama dari user yang akan dibuat, maksimal 16 karakter.
  • password adalah password yang harus dituliskan pada saat nama_user mengakses MySQL server.

Misalkan kita ingin membuat user ilkom_admin2 dengan password ‘r4hasia’, maka querynya:

img

Jika anda masih menggunakan user ilkom_admin, keluarlah terlebih dahulu dan masuk kembali sebagai root.

mysql> CREATE USER ilkom_admin2 IDENTIFIED BY 'rahasia';
Query OK, 0 rows affected (0.01 sec)

Dan jika anda ingin mengakses user tersebut, haruslah menggunakan password:

D:\MySQL\bin>mysql -u ilkom_admin2
ERROR 1045 (28000): Access denied for user 'ilkom_admin2'@'localhost' 
(using password: NO)

D:\MySQL\bin>mysql -u ilkom_admin2 –pr4hasia

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 10

Server version: 5.5.27 MySQL Community Server (GPL)
Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

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

mysql>

Terlihat dari contoh query pertama jika tanpa password, MySQL akan mengeluarkan pesan error.


Cara Membuat User MySQL dengan batasan IP address

Dalam membuat user, MySQL menyediakan pilihan untuk membatasi hak akses user tersebut dari lokasi tempat user mengakses MySQL server.

Seperti yang telah kita bahas pada Tutorial Belajar MySQL: Menjalankan MySQL Server, bahwa pengaksesan MySQL Server dapat dilakukan dari komputer mana saja sepanjang kita memiliki program MySQL Client dan terhubung melalui jaringan dengan MySQL Server. MySQL menggunakan alamat IP address untuk mengetahui darimana MySQL Server diakses.

Misalkan sebuah kantor memiliki 6 komputer yang terhubung dalam jaringan. MySQL Server berada pada komputer yang berada di alamat IP 192.168.0.1., sedangkan komputer lainnya memiliki alamat IP 192.168.0.2 sampai dengan 192.168.0.6. Kebijakan perusahaan adalah untuk mengakses tabel yang bersifat rahasia hanya bisa diakses dari komputer dengan IP 192.168.0.4. Untuk keperluan ini MySQL menyediakan cara agar sebuah user hanya dapat diakses dari alamat IP tertentu saja.

Format dasar query:

CREATE USER 'nama_user'@'lokasi_user' IDENTIFIED BY 'password';
  • nama_user adalah nama dari user yang akan dibuat, maksimal 16 karakter.
  • lokasi_user adalah lokasi tempat user yang diperbolehkan mengakses. Jika berada di komputer yang sama dengan MySQL Server, lokasi_user ditulis sebagai ‘localhost’, namun jika berada di komputer tertentu, kita bisa mengisinya dengan alamat IP seperti ‘192.168.0.2’, atau alamat host domain seperti user.duniailkom
  • password adalah password yang harus dituliskan pada saat nama_user mengakses MySQL server.

Sebagai contoh query, misalkan kita ingin membuat user ilkom_admin3 dengan password r4hasia dan hanya bisa diakses dari IP 192.168.0.4, maka querynya:

mysql> CREATE TABLE mahasiswa_ilkom ( nim CHAR(9), nama CHAR(50), umur INT, 
tempat_lahir CHAR(50), IPK DECIMAL (3,2) );
Query OK, 0 rows affected (0.01 sec)

mysql> INSERT INTO mahasiswa_ilkom VALUES ('089045001', 'Andi Suryo', 23, 
'Jakarta', 2.7);
Query OK, 1 row affected (0.05 sec)

mysql> INSERT INTO mahasiswa_ilkom VALUES ('109245021', 'Santi Syanum',
 21, 'Malang', 3.2);
Query OK, 1 row affected (0.04 sec)

mysql> INSERT INTO mahasiswa_ilkom VALUES ('099145055', 'Neil Situmorang',
 22, 'Medan', 1.9);
Query OK, 1 row affected (0.12 sec)

mysql> CREATE TABLE mahasiswa_ekonomi ( nim CHAR(9), nama CHAR(50), 
umur INT, tempat_lahir CHAR(50), IPK DECIMAL (3,2) );
Query OK, 0 rows affected (0.01 sec)

mysql> INSERT INTO mahasiswa_ekonomi VALUES ('089023013', 
'Alex Supriyanto', 23, 'Surabaya', 2.9);
Query OK, 1 row affected (0.04 sec)

mysql> INSERT INTO mahasiswa_ekonomi VALUES ('109223041', 'Rani Sabrina',
 21, 'Padang',3.7);
Query OK, 1 row affected (0.04 sec)

mysql> INSERT INTO mahasiswa_ekonomi VALUES ('099123043', 'Ocha Septriani',
 22,'Makasar', 3.1);
Query OK, 1 row affected (0.05 sec)

mysql> SELECT * FROM mahasiswa_ilkom;
+-----------+-----------------+------+--------------+------+
| nim       | nama            | umur | tempat_lahir | IPK  |
+-----------+-----------------+------+--------------+------+
| 089045001 | Andi Suryo      |   23 | Jakarta      | 2.70 |
| 109245021 | Santi Syanum    |   21 | Malang       | 3.20 |
| 099145055 | Neil Situmorang |   22 | Medan        | 1.90 |
+-----------+-----------------+------+--------------+------+
3 rows in set (0.00 sec)

mysql> SELECT * FROM mahasiswa_ekonomi;
+-----------+-----------------+------+--------------+------+
| nim       | nama            | umur | tempat_lahir | IPK  |
+-----------+-----------------+------+--------------+------+
| 089023013 | Alex Supriyanto |   23 | Surabaya     | 2.90 |
| 109223041 | Rani Sabrina    |   21 | Padang       | 3.70 |
| 099123043 | Ocha Septriani  |   22 | Makasar      | 3.10 |
+-----------+-----------------+------+--------------+------+
3 rows in set (0.00 sec)
0

Jika kita menggunakan user ilkom_admin3 dari komputer dengan IP address selain ‘192.168.0.4’, MySQL akan menghasilkan error.

mysql> CREATE TABLE mahasiswa_ilkom ( nim CHAR(9), nama CHAR(50), umur INT, 
tempat_lahir CHAR(50), IPK DECIMAL (3,2) );
Query OK, 0 rows affected (0.01 sec)

mysql> INSERT INTO mahasiswa_ilkom VALUES ('089045001', 'Andi Suryo', 23, 
'Jakarta', 2.7);
Query OK, 1 row affected (0.05 sec)

mysql> INSERT INTO mahasiswa_ilkom VALUES ('109245021', 'Santi Syanum',
 21, 'Malang', 3.2);
Query OK, 1 row affected (0.04 sec)

mysql> INSERT INTO mahasiswa_ilkom VALUES ('099145055', 'Neil Situmorang',
 22, 'Medan', 1.9);
Query OK, 1 row affected (0.12 sec)

mysql> CREATE TABLE mahasiswa_ekonomi ( nim CHAR(9), nama CHAR(50), 
umur INT, tempat_lahir CHAR(50), IPK DECIMAL (3,2) );
Query OK, 0 rows affected (0.01 sec)

mysql> INSERT INTO mahasiswa_ekonomi VALUES ('089023013', 
'Alex Supriyanto', 23, 'Surabaya', 2.9);
Query OK, 1 row affected (0.04 sec)

mysql> INSERT INTO mahasiswa_ekonomi VALUES ('109223041', 'Rani Sabrina',
 21, 'Padang',3.7);
Query OK, 1 row affected (0.04 sec)

mysql> INSERT INTO mahasiswa_ekonomi VALUES ('099123043', 'Ocha Septriani',
 22,'Makasar', 3.1);
Query OK, 1 row affected (0.05 sec)

mysql> SELECT * FROM mahasiswa_ilkom;
+-----------+-----------------+------+--------------+------+
| nim       | nama            | umur | tempat_lahir | IPK  |
+-----------+-----------------+------+--------------+------+
| 089045001 | Andi Suryo      |   23 | Jakarta      | 2.70 |
| 109245021 | Santi Syanum    |   21 | Malang       | 3.20 |
| 099145055 | Neil Situmorang |   22 | Medan        | 1.90 |
+-----------+-----------------+------+--------------+------+
3 rows in set (0.00 sec)

mysql> SELECT * FROM mahasiswa_ekonomi;
+-----------+-----------------+------+--------------+------+
| nim       | nama            | umur | tempat_lahir | IPK  |
+-----------+-----------------+------+--------------+------+
| 089023013 | Alex Supriyanto |   23 | Surabaya     | 2.90 |
| 109223041 | Rani Sabrina    |   21 | Padang       | 3.70 |
| 099123043 | Ocha Septriani  |   22 | Makasar      | 3.10 |
+-----------+-----------------+------+--------------+------+
3 rows in set (0.00 sec)
1

img

MySQL juga memiliki fitur untuk membuat alamat IP menggunakan wildcard ‘%’ yang maksudnya adalah semua alamat IP. Contohnya :

mysql> CREATE TABLE mahasiswa_ilkom ( nim CHAR(9), nama CHAR(50), umur INT, 
tempat_lahir CHAR(50), IPK DECIMAL (3,2) );
Query OK, 0 rows affected (0.01 sec)

mysql> INSERT INTO mahasiswa_ilkom VALUES ('089045001', 'Andi Suryo', 23, 
'Jakarta', 2.7);
Query OK, 1 row affected (0.05 sec)

mysql> INSERT INTO mahasiswa_ilkom VALUES ('109245021', 'Santi Syanum',
 21, 'Malang', 3.2);
Query OK, 1 row affected (0.04 sec)

mysql> INSERT INTO mahasiswa_ilkom VALUES ('099145055', 'Neil Situmorang',
 22, 'Medan', 1.9);
Query OK, 1 row affected (0.12 sec)

mysql> CREATE TABLE mahasiswa_ekonomi ( nim CHAR(9), nama CHAR(50), 
umur INT, tempat_lahir CHAR(50), IPK DECIMAL (3,2) );
Query OK, 0 rows affected (0.01 sec)

mysql> INSERT INTO mahasiswa_ekonomi VALUES ('089023013', 
'Alex Supriyanto', 23, 'Surabaya', 2.9);
Query OK, 1 row affected (0.04 sec)

mysql> INSERT INTO mahasiswa_ekonomi VALUES ('109223041', 'Rani Sabrina',
 21, 'Padang',3.7);
Query OK, 1 row affected (0.04 sec)

mysql> INSERT INTO mahasiswa_ekonomi VALUES ('099123043', 'Ocha Septriani',
 22,'Makasar', 3.1);
Query OK, 1 row affected (0.05 sec)

mysql> SELECT * FROM mahasiswa_ilkom;
+-----------+-----------------+------+--------------+------+
| nim       | nama            | umur | tempat_lahir | IPK  |
+-----------+-----------------+------+--------------+------+
| 089045001 | Andi Suryo      |   23 | Jakarta      | 2.70 |
| 109245021 | Santi Syanum    |   21 | Malang       | 3.20 |
| 099145055 | Neil Situmorang |   22 | Medan        | 1.90 |
+-----------+-----------------+------+--------------+------+
3 rows in set (0.00 sec)

mysql> SELECT * FROM mahasiswa_ekonomi;
+-----------+-----------------+------+--------------+------+
| nim       | nama            | umur | tempat_lahir | IPK  |
+-----------+-----------------+------+--------------+------+
| 089023013 | Alex Supriyanto |   23 | Surabaya     | 2.90 |
| 109223041 | Rani Sabrina    |   21 | Padang       | 3.70 |
| 099123043 | Ocha Septriani  |   22 | Makasar      | 3.10 |
+-----------+-----------------+------+--------------+------+
3 rows in set (0.00 sec)
2

Perintah tersebut akan membuat user ilkom_admin4 dapat diakses dari seluruh alamat mulai dari 192.168.0.1 sampai dengan 192.168.0.255, namun tidak untuk IP 192.168.1.0.

Bahkan sebenarnya perintah:

mysql> CREATE TABLE mahasiswa_ilkom ( nim CHAR(9), nama CHAR(50), umur INT, 
tempat_lahir CHAR(50), IPK DECIMAL (3,2) );
Query OK, 0 rows affected (0.01 sec)

mysql> INSERT INTO mahasiswa_ilkom VALUES ('089045001', 'Andi Suryo', 23, 
'Jakarta', 2.7);
Query OK, 1 row affected (0.05 sec)

mysql> INSERT INTO mahasiswa_ilkom VALUES ('109245021', 'Santi Syanum',
 21, 'Malang', 3.2);
Query OK, 1 row affected (0.04 sec)

mysql> INSERT INTO mahasiswa_ilkom VALUES ('099145055', 'Neil Situmorang',
 22, 'Medan', 1.9);
Query OK, 1 row affected (0.12 sec)

mysql> CREATE TABLE mahasiswa_ekonomi ( nim CHAR(9), nama CHAR(50), 
umur INT, tempat_lahir CHAR(50), IPK DECIMAL (3,2) );
Query OK, 0 rows affected (0.01 sec)

mysql> INSERT INTO mahasiswa_ekonomi VALUES ('089023013', 
'Alex Supriyanto', 23, 'Surabaya', 2.9);
Query OK, 1 row affected (0.04 sec)

mysql> INSERT INTO mahasiswa_ekonomi VALUES ('109223041', 'Rani Sabrina',
 21, 'Padang',3.7);
Query OK, 1 row affected (0.04 sec)

mysql> INSERT INTO mahasiswa_ekonomi VALUES ('099123043', 'Ocha Septriani',
 22,'Makasar', 3.1);
Query OK, 1 row affected (0.05 sec)

mysql> SELECT * FROM mahasiswa_ilkom;
+-----------+-----------------+------+--------------+------+
| nim       | nama            | umur | tempat_lahir | IPK  |
+-----------+-----------------+------+--------------+------+
| 089045001 | Andi Suryo      |   23 | Jakarta      | 2.70 |
| 109245021 | Santi Syanum    |   21 | Malang       | 3.20 |
| 099145055 | Neil Situmorang |   22 | Medan        | 1.90 |
+-----------+-----------------+------+--------------+------+
3 rows in set (0.00 sec)

mysql> SELECT * FROM mahasiswa_ekonomi;
+-----------+-----------------+------+--------------+------+
| nim       | nama            | umur | tempat_lahir | IPK  |
+-----------+-----------------+------+--------------+------+
| 089023013 | Alex Supriyanto |   23 | Surabaya     | 2.90 |
| 109223041 | Rani Sabrina    |   21 | Padang       | 3.70 |
| 099123043 | Ocha Septriani  |   22 | Makasar      | 3.10 |
+-----------+-----------------+------+--------------+------+
3 rows in set (0.00 sec)
3

Adalah sama dengan

mysql> CREATE TABLE mahasiswa_ilkom ( nim CHAR(9), nama CHAR(50), umur INT, 
tempat_lahir CHAR(50), IPK DECIMAL (3,2) );
Query OK, 0 rows affected (0.01 sec)

mysql> INSERT INTO mahasiswa_ilkom VALUES ('089045001', 'Andi Suryo', 23, 
'Jakarta', 2.7);
Query OK, 1 row affected (0.05 sec)

mysql> INSERT INTO mahasiswa_ilkom VALUES ('109245021', 'Santi Syanum',
 21, 'Malang', 3.2);
Query OK, 1 row affected (0.04 sec)

mysql> INSERT INTO mahasiswa_ilkom VALUES ('099145055', 'Neil Situmorang',
 22, 'Medan', 1.9);
Query OK, 1 row affected (0.12 sec)

mysql> CREATE TABLE mahasiswa_ekonomi ( nim CHAR(9), nama CHAR(50), 
umur INT, tempat_lahir CHAR(50), IPK DECIMAL (3,2) );
Query OK, 0 rows affected (0.01 sec)

mysql> INSERT INTO mahasiswa_ekonomi VALUES ('089023013', 
'Alex Supriyanto', 23, 'Surabaya', 2.9);
Query OK, 1 row affected (0.04 sec)

mysql> INSERT INTO mahasiswa_ekonomi VALUES ('109223041', 'Rani Sabrina',
 21, 'Padang',3.7);
Query OK, 1 row affected (0.04 sec)

mysql> INSERT INTO mahasiswa_ekonomi VALUES ('099123043', 'Ocha Septriani',
 22,'Makasar', 3.1);
Query OK, 1 row affected (0.05 sec)

mysql> SELECT * FROM mahasiswa_ilkom;
+-----------+-----------------+------+--------------+------+
| nim       | nama            | umur | tempat_lahir | IPK  |
+-----------+-----------------+------+--------------+------+
| 089045001 | Andi Suryo      |   23 | Jakarta      | 2.70 |
| 109245021 | Santi Syanum    |   21 | Malang       | 3.20 |
| 099145055 | Neil Situmorang |   22 | Medan        | 1.90 |
+-----------+-----------------+------+--------------+------+
3 rows in set (0.00 sec)

mysql> SELECT * FROM mahasiswa_ekonomi;
+-----------+-----------------+------+--------------+------+
| nim       | nama            | umur | tempat_lahir | IPK  |
+-----------+-----------------+------+--------------+------+
| 089023013 | Alex Supriyanto |   23 | Surabaya     | 2.90 |
| 109223041 | Rani Sabrina    |   21 | Padang       | 3.70 |
| 099123043 | Ocha Septriani  |   22 | Makasar      | 3.10 |
+-----------+-----------------+------+--------------+------+
3 rows in set (0.00 sec)
4

Yang berarti user ilkom_admin dapat diakses dari mana saja.

Alamat yang sering digunakan sebagai alamat IP adalah localhost, yang berarti alamat IP komputer tempat dimana MySQL Server berada. Karena di dalam tahap belajar ini kita menggunakan MySQL Client pada komputer yang sama dengan MySQL server, maka dalam tutorial selanjutnya saya hanya akan memakai lokasi localhost, seperti:

mysql> CREATE TABLE mahasiswa_ilkom ( nim CHAR(9), nama CHAR(50), umur INT, 
tempat_lahir CHAR(50), IPK DECIMAL (3,2) );
Query OK, 0 rows affected (0.01 sec)

mysql> INSERT INTO mahasiswa_ilkom VALUES ('089045001', 'Andi Suryo', 23, 
'Jakarta', 2.7);
Query OK, 1 row affected (0.05 sec)

mysql> INSERT INTO mahasiswa_ilkom VALUES ('109245021', 'Santi Syanum',
 21, 'Malang', 3.2);
Query OK, 1 row affected (0.04 sec)

mysql> INSERT INTO mahasiswa_ilkom VALUES ('099145055', 'Neil Situmorang',
 22, 'Medan', 1.9);
Query OK, 1 row affected (0.12 sec)

mysql> CREATE TABLE mahasiswa_ekonomi ( nim CHAR(9), nama CHAR(50), 
umur INT, tempat_lahir CHAR(50), IPK DECIMAL (3,2) );
Query OK, 0 rows affected (0.01 sec)

mysql> INSERT INTO mahasiswa_ekonomi VALUES ('089023013', 
'Alex Supriyanto', 23, 'Surabaya', 2.9);
Query OK, 1 row affected (0.04 sec)

mysql> INSERT INTO mahasiswa_ekonomi VALUES ('109223041', 'Rani Sabrina',
 21, 'Padang',3.7);
Query OK, 1 row affected (0.04 sec)

mysql> INSERT INTO mahasiswa_ekonomi VALUES ('099123043', 'Ocha Septriani',
 22,'Makasar', 3.1);
Query OK, 1 row affected (0.05 sec)

mysql> SELECT * FROM mahasiswa_ilkom;
+-----------+-----------------+------+--------------+------+
| nim       | nama            | umur | tempat_lahir | IPK  |
+-----------+-----------------+------+--------------+------+
| 089045001 | Andi Suryo      |   23 | Jakarta      | 2.70 |
| 109245021 | Santi Syanum    |   21 | Malang       | 3.20 |
| 099145055 | Neil Situmorang |   22 | Medan        | 1.90 |
+-----------+-----------------+------+--------------+------+
3 rows in set (0.00 sec)

mysql> SELECT * FROM mahasiswa_ekonomi;
+-----------+-----------------+------+--------------+------+
| nim       | nama            | umur | tempat_lahir | IPK  |
+-----------+-----------------+------+--------------+------+
| 089023013 | Alex Supriyanto |   23 | Surabaya     | 2.90 |
| 109223041 | Rani Sabrina    |   21 | Padang       | 3.70 |
| 099123043 | Ocha Septriani  |   22 | Makasar      | 3.10 |
+-----------+-----------------+------+--------------+------+
3 rows in set (0.00 sec)
5


Cara menghapus User MySQL

Untuk menghapus user, MySQL menyediakan query DROP USER. Berikut format dasar penggunaan:

mysql> CREATE TABLE mahasiswa_ilkom ( nim CHAR(9), nama CHAR(50), umur INT, 
tempat_lahir CHAR(50), IPK DECIMAL (3,2) );
Query OK, 0 rows affected (0.01 sec)

mysql> INSERT INTO mahasiswa_ilkom VALUES ('089045001', 'Andi Suryo', 23, 
'Jakarta', 2.7);
Query OK, 1 row affected (0.05 sec)

mysql> INSERT INTO mahasiswa_ilkom VALUES ('109245021', 'Santi Syanum',
 21, 'Malang', 3.2);
Query OK, 1 row affected (0.04 sec)

mysql> INSERT INTO mahasiswa_ilkom VALUES ('099145055', 'Neil Situmorang',
 22, 'Medan', 1.9);
Query OK, 1 row affected (0.12 sec)

mysql> CREATE TABLE mahasiswa_ekonomi ( nim CHAR(9), nama CHAR(50), 
umur INT, tempat_lahir CHAR(50), IPK DECIMAL (3,2) );
Query OK, 0 rows affected (0.01 sec)

mysql> INSERT INTO mahasiswa_ekonomi VALUES ('089023013', 
'Alex Supriyanto', 23, 'Surabaya', 2.9);
Query OK, 1 row affected (0.04 sec)

mysql> INSERT INTO mahasiswa_ekonomi VALUES ('109223041', 'Rani Sabrina',
 21, 'Padang',3.7);
Query OK, 1 row affected (0.04 sec)

mysql> INSERT INTO mahasiswa_ekonomi VALUES ('099123043', 'Ocha Septriani',
 22,'Makasar', 3.1);
Query OK, 1 row affected (0.05 sec)

mysql> SELECT * FROM mahasiswa_ilkom;
+-----------+-----------------+------+--------------+------+
| nim       | nama            | umur | tempat_lahir | IPK  |
+-----------+-----------------+------+--------------+------+
| 089045001 | Andi Suryo      |   23 | Jakarta      | 2.70 |
| 109245021 | Santi Syanum    |   21 | Malang       | 3.20 |
| 099145055 | Neil Situmorang |   22 | Medan        | 1.90 |
+-----------+-----------------+------+--------------+------+
3 rows in set (0.00 sec)

mysql> SELECT * FROM mahasiswa_ekonomi;
+-----------+-----------------+------+--------------+------+
| nim       | nama            | umur | tempat_lahir | IPK  |
+-----------+-----------------+------+--------------+------+
| 089023013 | Alex Supriyanto |   23 | Surabaya     | 2.90 |
| 109223041 | Rani Sabrina    |   21 | Padang       | 3.70 |
| 099123043 | Ocha Septriani  |   22 | Makasar      | 3.10 |
+-----------+-----------------+------+--------------+------+
3 rows in set (0.00 sec)
6
  • nama_user adalah nama dari user yang akan dihapus.

Sebagai contoh, jika anda mengikuti seluruh query dalam tutorial ini, maka akan tercipta 3 user, yakni ilkom_admin, ilkom_admin2 dan ilkom_admin3. Kita akan menghapus ketiganya:

mysql> CREATE TABLE mahasiswa_ilkom ( nim CHAR(9), nama CHAR(50), umur INT, 
tempat_lahir CHAR(50), IPK DECIMAL (3,2) );
Query OK, 0 rows affected (0.01 sec)

mysql> INSERT INTO mahasiswa_ilkom VALUES ('089045001', 'Andi Suryo', 23, 
'Jakarta', 2.7);
Query OK, 1 row affected (0.05 sec)

mysql> INSERT INTO mahasiswa_ilkom VALUES ('109245021', 'Santi Syanum',
 21, 'Malang', 3.2);
Query OK, 1 row affected (0.04 sec)

mysql> INSERT INTO mahasiswa_ilkom VALUES ('099145055', 'Neil Situmorang',
 22, 'Medan', 1.9);
Query OK, 1 row affected (0.12 sec)

mysql> CREATE TABLE mahasiswa_ekonomi ( nim CHAR(9), nama CHAR(50), 
umur INT, tempat_lahir CHAR(50), IPK DECIMAL (3,2) );
Query OK, 0 rows affected (0.01 sec)

mysql> INSERT INTO mahasiswa_ekonomi VALUES ('089023013', 
'Alex Supriyanto', 23, 'Surabaya', 2.9);
Query OK, 1 row affected (0.04 sec)

mysql> INSERT INTO mahasiswa_ekonomi VALUES ('109223041', 'Rani Sabrina',
 21, 'Padang',3.7);
Query OK, 1 row affected (0.04 sec)

mysql> INSERT INTO mahasiswa_ekonomi VALUES ('099123043', 'Ocha Septriani',
 22,'Makasar', 3.1);
Query OK, 1 row affected (0.05 sec)

mysql> SELECT * FROM mahasiswa_ilkom;
+-----------+-----------------+------+--------------+------+
| nim       | nama            | umur | tempat_lahir | IPK  |
+-----------+-----------------+------+--------------+------+
| 089045001 | Andi Suryo      |   23 | Jakarta      | 2.70 |
| 109245021 | Santi Syanum    |   21 | Malang       | 3.20 |
| 099145055 | Neil Situmorang |   22 | Medan        | 1.90 |
+-----------+-----------------+------+--------------+------+
3 rows in set (0.00 sec)

mysql> SELECT * FROM mahasiswa_ekonomi;
+-----------+-----------------+------+--------------+------+
| nim       | nama            | umur | tempat_lahir | IPK  |
+-----------+-----------------+------+--------------+------+
| 089023013 | Alex Supriyanto |   23 | Surabaya     | 2.90 |
| 109223041 | Rani Sabrina    |   21 | Padang       | 3.70 |
| 099123043 | Ocha Septriani  |   22 | Makasar      | 3.10 |
+-----------+-----------------+------+--------------+------+
3 rows in set (0.00 sec)
7

Untuk user ilkom_admin3, MySQL akan mengeluarkan pesan error. Hal ini dikarenakan pada saat kita membuat user ilkom_admin3, kita membatasi user ini dengan hanya bisa diakses dari IP 192.168.0.4, sehingga untuk menghapusnya harus mencantumkan alamat lengkap IP:

mysql> CREATE TABLE mahasiswa_ilkom ( nim CHAR(9), nama CHAR(50), umur INT, 
tempat_lahir CHAR(50), IPK DECIMAL (3,2) );
Query OK, 0 rows affected (0.01 sec)

mysql> INSERT INTO mahasiswa_ilkom VALUES ('089045001', 'Andi Suryo', 23, 
'Jakarta', 2.7);
Query OK, 1 row affected (0.05 sec)

mysql> INSERT INTO mahasiswa_ilkom VALUES ('109245021', 'Santi Syanum',
 21, 'Malang', 3.2);
Query OK, 1 row affected (0.04 sec)

mysql> INSERT INTO mahasiswa_ilkom VALUES ('099145055', 'Neil Situmorang',
 22, 'Medan', 1.9);
Query OK, 1 row affected (0.12 sec)

mysql> CREATE TABLE mahasiswa_ekonomi ( nim CHAR(9), nama CHAR(50), 
umur INT, tempat_lahir CHAR(50), IPK DECIMAL (3,2) );
Query OK, 0 rows affected (0.01 sec)

mysql> INSERT INTO mahasiswa_ekonomi VALUES ('089023013', 
'Alex Supriyanto', 23, 'Surabaya', 2.9);
Query OK, 1 row affected (0.04 sec)

mysql> INSERT INTO mahasiswa_ekonomi VALUES ('109223041', 'Rani Sabrina',
 21, 'Padang',3.7);
Query OK, 1 row affected (0.04 sec)

mysql> INSERT INTO mahasiswa_ekonomi VALUES ('099123043', 'Ocha Septriani',
 22,'Makasar', 3.1);
Query OK, 1 row affected (0.05 sec)

mysql> SELECT * FROM mahasiswa_ilkom;
+-----------+-----------------+------+--------------+------+
| nim       | nama            | umur | tempat_lahir | IPK  |
+-----------+-----------------+------+--------------+------+
| 089045001 | Andi Suryo      |   23 | Jakarta      | 2.70 |
| 109245021 | Santi Syanum    |   21 | Malang       | 3.20 |
| 099145055 | Neil Situmorang |   22 | Medan        | 1.90 |
+-----------+-----------------+------+--------------+------+
3 rows in set (0.00 sec)

mysql> SELECT * FROM mahasiswa_ekonomi;
+-----------+-----------------+------+--------------+------+
| nim       | nama            | umur | tempat_lahir | IPK  |
+-----------+-----------------+------+--------------+------+
| 089023013 | Alex Supriyanto |   23 | Surabaya     | 2.90 |
| 109223041 | Rani Sabrina    |   21 | Padang       | 3.70 |
| 099123043 | Ocha Septriani  |   22 | Makasar      | 3.10 |
+-----------+-----------------+------+--------------+------+
3 rows in set (0.00 sec)
8

Sampai tahap ini kita sudah mempelajari cara membuat user MySQL, membatasinya dengan password dan alamat IP, serta menghapus user MySQL. Namun user tersebut belum bisa melakukan apa-apa, karena kita belum memberikan hak akses. Dalam tutorial selanjutnya, kita akan membahas cara memberikan hak akses dengan query GRANT.

Bagaimana cara membuat hak akses user di MySQL?

Cara Membuat Hak Akses Tertentu untuk User MySQL.
CREATE – memperbolehkan user untuk membuat database atau tabel..
SELECT – memperbolehkan user untuk mengambil data..
INSERT – memperbolehkan user untuk memodifikasi entri yang ada di tabel..
DELETE – memperbolehkan user untuk menghapus entri tabel..

Langkah awal membuat database MySQL?

MySQL Membuat Database dan Table.
Buka command prompt dengan cara tekan ctrl + R keudian ketik cmd lalu enter..
Buka MySQL dengan cara mengetikan cd AppServ\MySQL\bin\MySQL..
Bila meminta password, masukkan password yang kalian buat (tapi biasanya password defaultnya “root”).

Langkah membuat database phpMyAdmin?

4. Buat Database di phpMyAdmin Caranya ialah dengan klik opsi New pada bar di bagian kiri tampilan situs. Kemudian, masukkan nama database baru yang akan dibuat dan klik Create untuk membuatnya. Selanjutnya, database akan secara otomatis ditampilkan pada bar di bagian kiri.

Bagaimana cara membuat data base?

Membuat database kosong.
Klik tab File, klik Baru, lalu klik Database Kosong..
Ketikkan nama file dalam kotak Nama File. ... .
Klik Buat. ... .
Mulailah mengetik untuk menambahkan data, atau tempelkan data dari sumber lain sebagaimana dijelaskan di bagian Menyalin data dari sumber lain ke dalam tabel Access..