User & View: Firdaus Solihin Universitas Trunojoyo

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 15

USER & VIEW

FIRDAUS SOLIHIN
UNIVERSITAS TRUNOJOYO

 USER
 Create
 Drop
 Grant
 Revoke
 Rename
 Set Password
 VIEW
 Create
 Alter
 Drop

1
USER

CREATE REVOKE
DROP RENAME
GRANT SET PASSWORD

Membuat User Baru

 CREATE USER user [IDENTIFIED BY


[PASSWORD] 'password'] [, user
[IDENTIFIED BY [PASSWORD]
'password']] ...
 Contoh
CREATE USER arman IDENTIFIED
BY 4rm4npwd

2
Menghapus User

 DROP USER user [, user] ...

 Contoh
DROP USER test

Menghapus User

DELETE FROM mysql.user


WHERE Host='localhost' AND User='';
FLUSH PRIVILEGES;

3
SET PRIVILAGE
GRANT
priv_type [(column_list)] [, priv_type [(column_list)]]
...
ON [object_type] { * | *.* | db_name.* |
db_name.tbl_name | tbl_name |
db_name.routine_name }
TO user [IDENTIFIED BY [PASSWORD]
'password'] [, user [IDENTIFIED BY [PASSWORD]
'password']] ...
[REQUIRE NONE | [{SSL| X509}] [CIPHER 'cipher'
[AND]] [ISSUER 'issuer' [AND]] [SUBJECT
'subject']]
[WITH with_option [with_option] ...]

KETERANGAN

 object_type =
TABLE | FUNCTION | PROCEDURE
 with_option =
GRANT OPTION
| MAX_QUERIES_PER_HOUR count |
MAX_UPDATES_PER_HOUR count |
MAX_CONNECTIONS_PER_HOUR count |
MAX_USER_CONNECTIONS count

4
Contoh

 GLOBAL LEVEL
 GRANT ALL ON *.* TO 'someuser'@'somehost';
 GRANT SELECT, INSERT ON *.* TO
'someuser'@'somehost';
 DATABASE LEVEL
 GRANT ALL ON mydb.* TO
'someuser'@'somehost';
 GRANT SELECT, INSERT ON mydb.* TO
'someuser'@'somehost';

Contoh

 TABEL LEVEL
 GRANT ALL ON mydb.mytbl TO
'someuser'@'somehost';
 GRANT SELECT, INSERT ON
mydb.mytbl TO 'someuser'@'somehost';
 COLUMN LEVEL
 GRANT SELECT (col1), INSERT
(col1,col2) ON mydb.mytbl TO
'someuser'@'somehost';

5
Contoh

 ROUTINE LEVEL
 GRANT CREATE ROUTINE ON mydb.*
TO 'someuser'@'somehost';
 GRANT EXECUTE ON PROCEDURE
mydb.myproc TO
'someuser'@'somehost';

Macam Privilege (1)


Privilege Meaning
ALL [PRIVILEGES] Grants all privileges at specified access level except GRANT
OPTION
ALTER Enables use of ALTER TABLE
ALTER ROUTINE Enables stored routines to be altered or dropped
CREATE Enables use of CREATE TABLE
CREATE ROUTINE Enables creation of stored routines
CREATE TEMPORARY Enables use of CREATE TEMPORARY TABLE
TABLES
CREATE USER Enables use of CREATE USER, DROP USER, RENAME USER,
and REVOKE ALL PRIVILEGES.
CREATE VIEW Enables use of CREATE VIEW
DELETE Enables use of DELETE

6
Macam Privilege (2)
Privilege Meaning
DROP Enables use of DROP TABLE
EXECUTE Enables the user to run stored routines
FILE Enables use of SELECT ... INTO OUTFILE and LOAD
DATA INFILE
INDEX Enables use of CREATE INDEX and DROP INDEX
INSERT Enables use of INSERT
LOCK TABLES Enables use of LOCK TABLES on tables for which you have
the SELECT privilege
PROCESS Enables the user to see all processes with SHOW
PROCESSLIST
REFERENCES Not implemented
RELOAD Enables use of FLUSH

Macam Privilege (3)


Privilege Meaning
REPLICATION Enables the user to ask where slave or master servers are
CLIENT
REPLICATION Needed for replication slaves (to read binary log events from the
SLAVE master)
SELECT Enables use of SELECT
SHOW DATABASES SHOW DATABASES shows all databases
SHOW VIEW Enables use of SHOW CREATE VIEW
SHUTDOWN Enables use of mysqladmin shutdown
SUPER Enables use of CHANGE MASTER, KILL, PURGE MASTER
LOGS, and SET GLOBAL statements, the mysqladmin
debug command; allows you to connect (once) even if
max_connections is reached
UPDATE Enables use of UPDATE
USAGE Synonym for “no privileges”
GRANT OPTION Enables privileges to be granted

7
Merubah Nama User

 RENAME USER old_user TO


new_user [, old_user TO new_user] ...

 Contoh
RENAME USER arman TO andi

Merubah Privilege
1. REVOKE
priv_type [(column_list)] [, priv_type
[(column_list)]] ...
ON [object_type] { * | *.* | db_name.* |
db_name.tbl_name | tbl_name |
db_name.routine_name }
FROM user [, user] ...
2. REVOKE ALL PRIVILEGES, GRANT
OPTION FROM user [, user] ...

8
Ganti Password

 SET PASSWORD [FOR user] = {


PASSWORD('some password') |
OLD_PASSWORD('some password') |
'encrypted password' }
 Contoh
SET PASSWORD FOR
'bob'@'localhost' =
PASSWORD('newpass');

Ganti Password

 UPDATE mysql.user SET


Password=PASSWORD('newpass')
WHERE User='bob' AND
Host=‘localhost';
 FLUSH PRIVILEGES;

9
VIEW

CREATE
ALTER
DROP

DEFINISI

 List dari beberapa kolom atau gabungan


beberapa record yang didapatkan dari satu
atau lebih tables Atau kombinasi dari satu
atau lebih view dan atau tabel

10
PERSIAPAN

 Sebelum membuat view yang harus


diperhatikan adalah
 apa saja colom yang akan dipakai dan
 dari tabel apa kolom-kolom ini berasal.

Membuat View
CREATE
[OR REPLACE]
VIEW view_name [(column_list)] AS
select_statement
[WITH [CASCADED | LOCAL] CHECK
OPTION]

11
Contoh Membuat View

CREATE VIEW detilkary AS


SELECT k.NIP, k.nama, k.tglmasuk,
k.gaji, k.komisi, d.nama as dept
FROM karyawan k, dept d
WHERE k.kddept = d.kddept;

Modifikasi View
ALTER
VIEW view_name [(column_list)] AS
select_statement
[WITH [CASCADED | LOCAL] CHECK
OPTION]

12
Contoh Modifikasi View

ALTER VIEW detilkary AS


SELECT k.NIP, k.nama, k.tglmasuk,
k.gaji + k.komisi as totalgaji, d.nama
as dept
FROM karyawan k, dept d
WHERE k.kddept = d.kddept;

 CREATE OR REPLACE VIEW =


CREATE VIEW
jika nama view yang dibuat belum ada
 CREATE OR REPLACE VIEW =
ALTER VIEW
jika nama view yang dibuat ada

13
Menghapus View
DROP VIEW [IF EXISTS]
view_name [, view_name] ...
[RESTRICT | CASCADE]

 Contoh
DROP VIEW detilkary1;

Menampilkan View

 SELECT * FROM detilkary1;

14
Attribut CHECK OPTION

 Attribut ini digunakan jika setiap


perubahan yang dilakukan terhadap
tabel asli dari view akan segera
otomatis berubah juga di view

Tugas

 Buat contoh tabel dan perintah yang


menunjukkan perbedaan dari
penggunaan
 CASCADE CHECK OPTION
 LOCAL CHECK OPTION
 Tanpa CHECK OPTION
 Buat sebuah conoth Store Procedure

15

You might also like