One place for hosting & domains

      Menciptakan

      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:

      • 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.

      • 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.

      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:

      • 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:

      • 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:

      • SHOW GRANTS FOR 'username'@'localhost';

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

      • DROP USER 'username'@'localhost';

      Untuk menguji pengguna baru, log keluar dengan mengetik:

      dan log masuk kembali dengan perintah ini di terminal:

      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:



      Source link