Tutorial

Cara Menciptakan Pengguna Baru dan Memberikan Izin di MySQL

Published on November 23, 2020
Bahasa Indonesia
Cara Menciptakan Pengguna Baru dan Memberikan Izin di MySQL

Pengantar

MySQL adalah perangkat lunak manajemen basis data sumber terbuka yang membantu pengguna untuk menyimpan, mengorganisasi, dan kemudian mengambil data. MySQL memiliki beragam opsi untuk memberikan izin bernuansa kepada pengguna tertentu di dalam tabel dan basis data — tutorial ini akan memberikan ikhtisar singkat tentang sebagian dari banyak opsi tersebut.

Apa Arti Sorotan

Di sepanjang tutorial ini, baris apa pun yang pengguna harus masukkan atau sesuaikan akan disorot! Sedangkan untuk sisanya, sebagian besar dapat dilakukan salin dan tempel.

Cara Menciptakan Pengguna Baru

Dalam Bagian 1 dari Tutorial MySQL, kita telah melakukan semua pengeditan di MySQL sebagai pengguna root, dengan akses penuh ke semua basis data. Namun, jika mungkin diperlukan pembatasan lebih banyak, ada beberapa cara untuk menciptakan pengguna dengan izin khusus.

Mari kita mulai dengan menciptakan pengguna baru di dalam shell MySQL:

  1. CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';

Catatan: Ketika menambahkan pengguna di dalam shell MySQL di tutorial ini, kita akan menetapkan hos pengguna sebagai localhost dan bukan alamat IP server. localhost adalah nama hos yang berarti “komputer ini,” dan MySQL memperlakukan nama hos tertentu secara istimewa: saat pengguna dengan hos tersebut melakukan log masuk ke MySQL, MySQL akan mencoba terhubung ke server lokal menggunakan berkas soket Unix. Dengan demikian, localhost biasanya digunakan saat Anda berencana untuk tershubung dengan melakukan SSH ke server atau saat Anda menjalankan klien mysql lokal untuk terhubung ke server MySQL lokal.

Di titik ini newuser tidak memiliki izin untuk melakukan apa pun dengan basis data. Bahkan, sekalipun newuser mencoba log masuk (dengan kata sandi, password, itu tidak akan berhasil mencapai shell MySQL.

Oleh karena itu, hal pertama yang dilakukan adalah memberikan akses ke informasi yang akan diperlukan pengguna.

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

Tanda bintang dalam perintah ini merujuk ke basis data dan tabel (secara berurutan) yang dapat diakses — perintah spesifik ini memungkinkan pengguna untuk membaca, mengedit, mengeksekusi, dan melaksanakan semua tugas di seluruh basis data dan tabel.

Harap diperhatikan bahwa dalam contoh ini, kita memberi newuser<^> suatu akses root penuh ke segala hal dalam basis data kita. Walaupun membantu menjelaskan beberapa konsep MySQL, tetapi hal ini mungkin tidak praktis untuk kebanyakan kasus penggunaan dan dapat menjadikan keamanan basis data Anda berada dalam risiko tinggi.

Setelah menyelesaikan izin yang Anda ingin siapkan untuk pengguna baru, selalu pastikan untuk memuat ulang semua privilese.

  1. FLUSH PRIVILEGES;

Sekarang, perubahan yang Anda buat akan diterapkan.

Cara Memberikan Berbagai Izin Pengguna

Berikut ini adalah daftar singkat dari izin umum lainnya yang bisa dinikmati oleh pengguna.

  • ALL PRIVILEGES - seperti yang kita lihat sebelumnya, ini akan memberi pengguna MySQL suatu akses penuh ke basis data yang ditunjuk (atau jika tidak ada basis data yang dipilih, akses global di seluruh sistem)
  • CREATE - mengizinkan mereka untuk menciptakan tabel atau basis data baru
  • DROP - mengizinkan mereka untuk menghapus tabel atau basis data
  • DELETE - mengizinkan mereka untuk menghapus baris dari tabel
  • INSERT - mengizinkan mereka untuk menyisipkan baris ke dalam tabel
  • SELECT - mengizinkan mereka untuk menggunakan perintah SELECT guna membaca seluruh basis data
  • UPDATE - mengizinkan mereka untuk memperbarui baris tabel
  • GRANT OPTION - mengizinkan mereka untuk memberikan izin atau menghapus privilese pengguna lainnya

Untuk memberikan izin kepada pengguna tertentu, Anda dapat menggunakan kerangka kerja ini:

  1. GRANT type_of_permission ON database_name.table_name TO 'username'@'localhost';

Jika Anda ingin memberi mereka akses ke basis data atau tabel apa pun, pastikan untuk menempatkan tanda bintang (*) di tempat nama basis data atau tabel.

Setiap kali Anda memperbarui atau mengubah izin, pastikan untuk menggunakan perintah Flush Privileges.

Jika Anda perlu mencabut izin, strukturnya hampir identik dengan memberikan izin:

  1. REVOKE type_of_permission ON database_name.table_name FROM 'username'@'localhost';

Perhatikan bahwa saat mencabut izin, sintaks mengharuskan Anda menggunakan FROM, alih-alih TO seperti saat kita memberikan izin.

Anda dapat meninjau izin pengguna saat ini dengan menjalankan yang berikut:

  1. SHOW GRANTS FOR 'username'@'localhost';

Sama seperti Anda dapat menghapus basis data dengan DROP, Anda dapat menggunakan DROP untuk menghapus pengguna secara bersamaan:

  1. DROP USER 'username'@'localhost';

Untuk menguji pengguna baru, log keluar dengan mengetik:

  1. quit

dan log masuk kembali dengan perintah ini di terminal:

  1. mysql -u [username] -p

Kesimpulan

Setelah menyelesaikan tutorial ini, Anda seharusnya memiliki pemahaman tentang cara menambah pengguna baru dan memberikan berbagai izin kepada mereka dalam basis data MySQL. Dari sini, Anda dapat terus menjelajahi dan bereksperimen dengan berbagai pengaturan izin untuk basis data, atau Anda mungkin ingin mempelajari lebih lanjut tentang konfigurasi MySQL dengan tingkat yang lebih tinggi.

Untuk informasi lebih lanjut tentang dasar-dasar MySQL, kami menyarankan Anda untuk melihat tutorial berikut:

Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.

Learn more about us


About the authors

Still looking for an answer?

Ask a questionSearch for more help

Was this helpful?
 
Leave a comment


This textbox defaults to using Markdown to format your answer.

You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

Try DigitalOcean for free

Click below to sign up and get $200 of credit to try our products over 60 days!

Sign up

Join the Tech Talk
Success! Thank you! Please check your email for further details.

Please complete your information!

Get our biweekly newsletter

Sign up for Infrastructure as a Newsletter.

Hollie's Hub for Good

Working on improving health and education, reducing inequality, and spurring economic growth? We'd like to help.

Become a contributor

Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.

Welcome to the developer cloud

DigitalOcean makes it simple to launch in the cloud and scale up as you grow — whether you're running one virtual machine or ten thousand.

Learn more
DigitalOcean Cloud Control Panel