GNU/Linux >> Belajar Linux >  >> Linux

Cara Memeriksa Hak Pengguna MySQL di Linux

Instalasi MySQL pertama/baru pada sistem operasi apa pun hanya menganggap pengguna root sebagai pengguna database default. Transaksi/aktivitas database pertama dilakukan oleh pengguna root saja.

Oleh karena itu, tidak ideal untuk setiap pengguna yang membutuhkan akses ke database MySQL untuk mendapatkan entri melalui kredensial pengguna root. Akses pengguna root harus disediakan untuk administrator basis data yang kemudian akan menggunakan kredensial pengguna root untuk membuat pengguna basis data dan memberikan hak istimewa untuk menjalankan kueri basis data yang berbeda.

Ini juga merupakan praktik yang ideal bagi administrator database untuk menghindari penggunaan pengguna root untuk mengakses MySQL database tetapi sebagai gantinya buat pengguna lain dan berikan pengguna ini akses dan hak eksekusi yang sama seperti pengguna root.

Panduan artikel ini ideal untuk MariaDB , Edisi MySQL Enterprise , dan Edisi Komunitas MySQL pengguna. Untuk mendemonstrasikan cara memeriksa hak istimewa pengguna MySQL, pertama-tama kita akan membuat pengguna uji yang berbeda dengan hak istimewa MySQL yang berbeda.

Buat Pengguna MySQL Baru

Pertama, dapatkan akses root ke MySQL . Anda database dari terminal Linux Anda menggunakan perintah:

$ mysql -u root -p

Sintaks perintah untuk membuat pengguna MySQL adalah sebagai berikut:

CREATE USER 'username'@'localhost' IDENTIFIED BY 'your_user_password';

Kasus penggunaan di atas berlaku untuk MySQL yang diinstal pada mesin lokal. Jika Anda menggunakan mesin/server jarak jauh, maka Anda harus mengganti 'username'@'localhost' dengan 'nama pengguna'@'remote_machine_ip_address' .

Jika Anda menginginkan pengguna yang dapat terhubung ke sistem yang diinstal MySQL tanpa menentukan nama host atau alamat IP, ikuti sintaks perintah:

CREATE USER 'username'@'%' IDENTIFIED BY 'your_user_password';  

Sekarang mari kita buat beberapa pengguna database MySQL.

CREATE USER 'user1'@'localhost' IDENTIFIED BY 'password1';  
CREATE USER 'user2'@'localhost' IDENTIFIED BY 'password2';  
CREATE USER 'user3'@'%' IDENTIFIED BY 'password3';  

Perhatikan bahwa pengguna ini untuk tujuan demo dan oleh karena itu pertimbangkan untuk membuat kata sandi pengguna basis data yang lebih kuat untuk lingkungan produksi Anda.

Berikan Hak Istimewa kepada Pengguna MySQL Baru

Langkah selanjutnya adalah menetapkan peran yang berbeda kepada pengguna basis data yang dibuat ini (hak pengguna). Hak istimewa pengguna ini terkait dengan tindakan basis data yang diizinkan untuk dilakukan oleh pengguna basis data yang berbeda.

Kami dapat membagi izin ini menjadi:

  • Semua Hak Istimewa :Pengguna yang diberi izin ini dapat melakukan semua peran basis data.
  • Sisipkan :Pengguna yang diberi izin ini dapat memasukkan data baris tabel database.
  • Hapus :Pengguna yang diberi izin ini dapat menghapus data baris tabel database.
  • Buat :Pengguna yang diberi izin ini dapat membuat database dan tabel yang tidak ada.
  • Lepas :Pengguna yang diberi peran ini dapat menghapus database dan tabel yang ada.
  • Pilih :Pengguna yang diberi izin ini dapat membaca informasi basis data.
  • Pembaruan :Pengguna yang diberi izin ini dapat mengubah data baris tabel database.
  • Opsi Hibah :Pengguna yang diberi izin ini dapat mengubah hak istimewa akun pengguna basis data lainnya.

Misalnya, jika kami memberikan pengguna1 semua hak untuk semua database dan tabel menjadi seperti pengguna root, kami akan menjalankan perintah:

GRANT ALL PRIVILEGES ON *.* TO 'user1'@'localhost';

Jika kami memberikan pengguna2 semua hak istimewa untuk semua tabel database dari database tertentu (mis. mysql ), kita akan menjalankan perintah:

GRANT ALL PRIVILEGES ON mysql.* TO 'user2'@'localhost';

Jika kami memberikan pengguna3 hak istimewa untuk hanya membuat pengguna MySQL baru, kami akan menjalankan perintah:

GRANT INSERT ON mysql.user TO 'user3'@'%';

Memeriksa Hak Istimewa Pengguna di MySQL

Untuk memeriksa hak istimewa basis data pengguna, lihat sintaks perintah:

SHOW GRANTS FOR username;

Untuk memeriksa tiga hak istimewa pengguna ini:

SHOW GRANTS FOR user1@localhost;
SHOW GRANTS FOR user2@localhost;
SHOW GRANTS FOR user3;

Untuk mencabut hak istimewa yang ditetapkan pengguna, rujuk sintaks perintah:

REVOKE permission_type ON database.table FROM 'username'@'hostname'; 

Misalnya;

REVOKE INSERT ON mysql.user FROM user3;

[ Anda mungkin juga menyukai:Lembar Cheat Perintah Database MySQL untuk Linux ]

Dengan artikel ini, Anda sekarang memahami semua yang perlu diketahui tentang hak istimewa pengguna MySQL.


Linux
  1. Cara Mengatur Hak Istimewa Sudo untuk Pengguna di Linux

  2. Cara Memeriksa Versi MySQL di Linux

  3. Cara Memeriksa Versi MySQL di Linux

  1. Cara Memeriksa Versi MySQL di Linux

  2. Cara Memperbaiki Database MySQL

  3. Cara Membuat Pengguna MySQL Baru dan Memberikan Hak Istimewa

  1. Cara Mengimpor dan Mengekspor Database MySQL di Linux

  2. Bagaimana memberi pengguna hak akses root di Kali Linux

  3. Cara Mengatur Ulang Kata Sandi Pengguna Root MySQL Di Linux