MySQL 8 memperkenalkan pembaruan kinerja dan keamanan. Dirilis pada April 2018, MySQL 8 adalah rilis besar pertama sejak MySQL 5. 7 tahun 2015. Dengan MySQL5. 7 berakhirnya dukungan pada bulan Oktober 2023, sebaiknya mulai perbarui database Anda jika memungkinkan Show Buat pengguna baru di MySQL 8Pertama, buat user baru di MySQL 8 menggunakan perintah CREATE USER seperti itu CREATE USER 'username'@'localhost' IDENTIFIED BY 'STR0NG!PAssW0rD'; Berikan semua hak istimewa di MySQL 8Selanjutnya, berikan hak istimewa kepada pengguna di MySQL 8 menggunakan perintah GRANT seperti itu GRANT ALL ON database-name.* TO 'username'@'localhost';_ Untuk memulai, mari soroti fakta bahwa di MySQL 8. 0 tidak mungkin lagi membuat pengguna langsung dari perintah GRANT ( $ mysql -u user1 -pChangeMe -h localhost5) Ini berarti bahwa untuk memberikan beberapa hak istimewa, pengguna harus dibuat terlebih dahulu Mari buat pengguna 'user1' dengan 'ChangeMe' sebagai kata sandi yang harus diubah oleh pengguna mysql> create user 'user1' identified by 'ChangeMe' password expire; Mari kita coba terhubung ke MySQL menggunakan pengguna yang baru dibuat itu $ mysql -u user1 -pChangeMe -h localhost Tidak ada yang istimewa, kami terhubung seperti yang diharapkan… tetapi bukankah saya secara eksplisit telah kedaluwarsa kata sandinya? Ya saya lakukan, mari kita coba pernyataan apa pun mysql> select now(); Kita harus mengubah kata sandi seperti yang diharapkan. Mari kita ubah menjadi 'MySQL8isGreat' mysql> set password='MySQL8isGreat';_ Dan sekarang kita dapat menggunakan MySQL dan menjalankan pernyataan apa pun yang boleh kita lakukan (yang memiliki hak istimewa untuk itu) mysql> select now(); Sepertinya saya tidak memiliki akses ke banyak database… Hak istimewa default sangat terbatas mysql> show grants;_ Sekarang saatnya untuk memberikan lebih banyak hak istimewa kepada pengguna kita… tetapi hak istimewa apa yang tersedia? Dalam 8. 0. 13, mereka saat ini 46 hak istimewa Untuk mendaftar semuanya, jalankan saja mysql> show privileges;_
Izinkan pengguna kami membuat tabel di database $ mysql -u user1 -pChangeMe -h localhost6 yang kami buat untuknya dan juga izinkan dia melakukan tindakan berikut
mysql> grant alter,create,delete,drop,index,insert,select,update,trigger,alter routine, TIDAK PERLU MENJALANKAN PRIVILEG FLUSH Dan di sesi terbuka untuk pengguna1, kita dapat memeriksa hak istimewa yang diberikan mysql> show grants\G Sekarang bayangkan kita ingin memiliki banyak pengguna yang akan memiliki akses ke database yang sama (mydatabase), daripada menentukan semua hibah untuk setiap pengguna, mari gunakan peran umum untuk semuanya. Kami akan menyebutnya 'developer_user' mysql> create ROLE developer_users; Mari berikan peran kepada pengguna1 $ mysql -u user1 -pChangeMe -h localhost0 Sekarang kembali lagi di sesi user1 dan mari verifikasi $ mysql -u user1 -pChangeMe -h localhost1 Sekarang kami ingin setiap kali user1 masuk ke MySQL, peran barunya akan ditetapkan $ mysql -u user1 -pChangeMe -h localhost2 Mari kita buat juga user2 yang memiliki role default $ mysql -u user1 -pChangeMe -h localhost_3 Dan kita bisa langsung mengujinya $ mysql -u user1 -pChangeMe -h localhost_4 RingkasanSingkatnya, sekarang di MySQL 8. 0 Anda tidak dapat membuat pengguna dari GRANT, Anda tidak perlu menjalankan perintah FLUSH PRIVILEGES (ini sudah efektif untuk waktu yang lama, harap lupakan saja. ), Anda dapat menggunakan PERAN dan memiliki lebih banyak opsi pengelolaan kata sandi Bagaimana cara menunjukkan hak istimewa untuk semua pengguna di MySQL?Jika akun pengguna yang Anda masuki memiliki hak istimewa SELECT di database mysql internal, Anda dapat melihat hak istimewa yang diberikan ke akun pengguna lain. Untuk menampilkan hak istimewa akun lain, gunakan format berikut. TAMPILKAN HIBAH UNTUK ' ; .
Apa semua hak istimewa di MySQL?ALL - Memungkinkan akses lengkap ke database tertentu . Jika database tidak ditentukan, ini memungkinkan akses lengkap ke keseluruhan MySQL. BUAT - Izinkan pengguna untuk membuat database dan tabel. HAPUS - Izinkan pengguna untuk menghapus baris dari tabel.
Bagaimana cara memberikan hak istimewa kepada pengguna di MySQL?Di sini, PENGGUNAAN berarti pengguna dapat masuk ke database tetapi tidak memiliki hak istimewa apa pun. Jika kami ingin menetapkan semua hak istimewa untuk semua database di server saat ini ke john@localhost, jalankan pernyataan di bawah ini. mysql> GRANT ALL ON mystudentdb
Apa itu kesalahan 1410 42000 ). di MySQL?Jawaban. Kode Kesalahan kesalahan. 1410 terjadi ketika hak istimewa diberikan pada pernyataan kueri tetapi pengguna tidak dibuat . Oleh karena itu, pengguna harus dibuat sebelum memberikan izin. |