Cara membuat pengguna baru dan memberikan izin di MySQL

Cara membuat pengguna baru dan memberikan izin di MySQL

Mysql adalah sistem manajemen basis data yang populer dan banyak digunakan yang menyimpan dan mengatur data dan memungkinkan pengguna untuk mengambilnya. Muncul dengan beragam opsi yang memberi pengguna izin tertentu ke tabel dan database.

Dalam panduan ini, Anda akan belajar cara membuat pengguna baru dan memberikan izin di Mysql database.

Cara membuat pengguna baru di mysql

Untuk membuat pengguna baru pertama masuk ke shell mysql.

$ sudo mysql -u root -p 

Berikan kata sandi sudo yang diikuti oleh kata sandi yang disediakan saat menyiapkan database MySQL dan tekan MEMASUKI. Setelah itu, Anda akan mendapatkan prompt ini.

Terhubung ke shell mysql

Untuk membuat pengguna baru, gunakan sintaks yang ditunjukkan di bawah ini:

Mariadb [tidak ada]> buat pengguna 'pengguna baru'@' localhost 'diidentifikasi oleh'kata sandi'; 

Misalnya, untuk membuat pengguna baru yang dipanggil 'tecmint'Di dalam database, memohon perintah:

Mariadb [tidak ada]> buat pengguna 'tecmint'@' localhost 'diidentifikasi oleh'QKYKMW $ 5tec'; 

Beberapa poin yang perlu diingat

Saat menambahkan pengguna secara lokal i.e., pada sistem yang telah Anda instal Mysql, host pengguna ditentukan sebagai localhost, dan bukan alamat IP. Kata kunci 'localhost'diterjemahkan ke'komputer ini'Dan mysql memperlakukannya secara unik. Pada dasarnya, LocalHost digunakan oleh klien MySQL untuk membuat koneksi ke server database MySQL yang diinstal secara lokal.

Sejauh ini, tecmint Pengguna tidak memiliki izin untuk berinteraksi dengan database. Faktanya, pengguna bahkan tidak dapat mengakses shell mysql.

Untuk memberikan pengguna akses penuh ke semua database, termasuk tabel, jalankan.

Mariadb [tidak ada]> berikan semua hak istimewa di * . * KE 'tecmint'@' localhost '; 

Dalam perintah di atas, tanda bintang menunjuk ke database dan tabel masing -masing yang dapat diakses pengguna. Itu memberi pengguna semua hak pada database - membaca, menulis, edit, Dan menjalankan termasuk melakukan semua tugas di database dan tabel lain juga.

Sejauh ini, kami telah memberikan pengguna akses penuh ke database. Meskipun ini berguna dalam menjelaskan konsep MySQL, umumnya tidak disarankan karena dapat menimbulkan risiko keamanan pada database Anda. Pikirkan saja apa yang mungkin terjadi jika seorang peretas mendapatkan kata sandi pengguna. Kami akan melangkah lebih jauh dan membahas cara menetapkan izin spesifik di bagian selanjutnya.

Setelah Anda selesai memberikan izin kepada pengguna, muat ulang semua hak istimewa seperti yang ditunjukkan untuk perubahan yang berlaku.

Mariadb [tidak ada]> hak istimewa flush 

Bagaimana memberikan izin pengguna yang berbeda

Berikut adalah rincian izin yang mungkin Anda dapatkan kepada pengguna:

  • Semua hak istimewa - Seperti yang terlihat sebelumnya, ini memberikan akses penuh pengguna MySQL ke database tertentu.
  • MEMBUAT - Memungkinkan pengguna untuk membuat database atau tabel baru.
  • MENJATUHKAN - Memungkinkan pengguna untuk menghapus basis data atau pengguna.
  • MENYISIPKAN - Memungkinkan pengguna untuk memasukkan baris ke dalam tabel.
  • MENGHAPUS - Memungkinkan pengguna untuk menghapus baris dari tabel.
  • PILIH - Dengan izin 'Pilih', pengguna dapat membaca isi tabel.
  • MEMPERBARUI - Memungkinkan pengguna untuk memperbarui baris dalam tabel.
  • Opsi hibah - Pengguna dapat memberikan atau menghapus hak istimewa pengguna lain.

Untuk memberikan izin pengguna tertentu, gunakan sintaks:

Mariadb [tidak ada]> hibah izin_type di database_name.Table_name to 'username'@'localhost'; 

Selain itu, Anda dapat menetapkan izin ke semua tabel dalam database dengan simbol asterisk tunggal seperti yang ditunjukkan:

Mariadb [tidak ada]> hibah izin_type di database_name.* Untuk 'nama pengguna'@'localhost'; 

Misalnya, untuk menetapkan PILIH izin ke 'tecmint'Pengguna di semua tabel database testdb, Jalankan perintah.

Mariadb [tidak ada]> hibah terpilih di testdb.* Ke 'tecmint'@'localhost'; 

Kemudian siram hak istimewa agar perubahan berlaku.

Mariadb [tidak ada]> hak istimewa flush; 
Tetapkan Izin Pilih untuk Pengguna di Basis Data

Selain itu, Anda dapat menetapkan beberapa izin saat ini dengan memisahkannya dengan koma seperti yang ditunjukkan.

Mariadb [tidak ada]> hibah MENYISIPKAN, MEMPERBARUI PADA testdb.* KE 'tecmint'@' localhost '; 
Tetapkan beberapa izin ke database

Cara mencabut izin mysql

Untuk mencabut izin dari pengguna, gunakan sintaks:

Mariadb [tidak ada]> dicabut dimission_type PADA database_name.table_name Dari 'nama pengguna'@'localhost'; 

Misalnya, untuk mencabut MENYISIPKAN izin dari pengguna 'tecmint', jalankan perintah.

Mariadb [tidak ada]> dicabut MENYISIPKAN PADA testdb.* Dari tecmint '@' localhost '; Mariadb [tidak ada]> hak istimewa flush 
Mencabut izin mysql

Untuk mengintip izin pengguna saat ini, jalankan:

Mariadb [tidak ada]> tunjukkan hibah untuk 'nama pengguna'@'localhost'; 

Dari output di bawah ini, kita dapat melihat bahwa MENYISIPKAN izin telah dihapus dari 'tecmint'Pengguna hanya menyisakan PILIH Dan MEMPERBARUI hak pada testdb database.

Periksa izin pengguna mysql

Untuk menguji login ke shell mysql menggunakan pengguna baru, pertama logam.

Mariadb [tidak ada]> berhenti; 

Lalu login kembali lagi.

$ sudo mysql -u tecmint -p 

Berikan kata sandi pengguna dan tekan MEMASUKI Untuk mengakses shell.

Untuk menjatuhkan pengguna, gunakan MENJATUHKAN perintah, seperti yang Anda lakukan saat menghapus database.

Mariadb [tidak ada]> jatuhkan pengguna 'nama pengguna'@'localhost'; 

Anda mungkin juga ingin membaca artikel terkait MySQL berikut:

  • Tip Berguna Untuk Memecahkan Masalah Kesalahan Umum Di MySQL
  • Mytop - Alat yang berguna untuk memantau kinerja MySQL/MariaDB di Linux
  • Cara mengubah port mysql/mariadb default di linux
  • Cara mereset kata sandi root mysql atau mariadb di linux
Kesimpulan

Semoga sekarang, Anda dapat membuat pengguna di server database MySQL Anda dan dengan nyaman menetapkan atau mencabut izin.