Pengguna MySQL adalah catatan dalam tabel USER dari server MySQL yang berisi informasi login, hak istimewa akun, dan informasi host untuk akun MySQL. Sangat penting untuk membuat pengguna di MySQL untuk mengakses dan mengelola database
Pernyataan MySQL Create User memungkinkan kita untuk membuat akun pengguna baru di server database. Ini menyediakan otentikasi, SSL/TLS, batas sumber daya, peran, dan properti manajemen kata sandi untuk akun baru. Ini juga memungkinkan kami untuk mengontrol akun yang awalnya harus dikunci atau dibuka kuncinya
Jika Anda ingin menggunakan Buat Pengguna, Anda harus memiliki hak istimewa global pernyataan Buat Pengguna atau hak istimewa INSERT untuk skema sistem MySQL. Saat Anda membuat pengguna yang sudah ada, itu memberikan kesalahan. Tetapi jika Anda menggunakan klausa IF NOT EXISTS, pernyataan tersebut memberikan peringatan untuk setiap pengguna bernama yang sudah ada, bukan pesan kesalahan
Mengapa Pengguna membutuhkan di server MySQL?
Saat penginstalan server MySQL selesai, ia memiliki akun pengguna ROOT hanya untuk mengakses dan mengelola database. Namun, terkadang, Anda ingin memberikan akses database kepada orang lain tanpa memberikan kontrol penuh kepada mereka. Dalam hal ini, Anda akan membuat pengguna non-root dan memberi mereka hak khusus untuk mengakses dan memodifikasi database
Sintaksis
Sintaks berikut digunakan untuk membuat pengguna di server basis data
Pada sintaks di atas, nama_akun memiliki dua bagian, satu nama pengguna, dan satu lagi nama host, yang dipisahkan oleh simbol @. Di sini, nama pengguna adalah nama pengguna, dan nama host adalah nama host tempat pengguna dapat terhubung dengan server basis data
Nama host bersifat opsional. Jika Anda belum memberikan nama host, pengguna dapat terhubung dari host mana pun di server. Nama akun pengguna tanpa nama host dapat ditulis sebagai
Catatan. Pengguna Buat membuat pengguna baru dengan akses penuh. Jadi, jika Anda ingin memberikan hak istimewa kepada pengguna, Anda harus menggunakan pernyataan GRANT
MySQL BUAT Contoh PENGGUNA
Berikut ini adalah langkah-langkah yang diperlukan untuk membuat user baru di database server MySQL
Langkah 1. Buka server MySQL dengan menggunakan alat klien mysql
Langkah 2. Masukkan kata sandi untuk akun dan tekan Enter
Langkah 3. Jalankan perintah berikut untuk menampilkan semua pengguna di server MySQL saat ini
Kita akan mendapatkan output seperti di bawah ini
Langkah 4. Buat pengguna baru dengan perintah berikut
Sekarang, jalankan perintah untuk menampilkan semua pengguna lagi
Pada output di atas, kita dapat melihat bahwa user peter telah berhasil dibuat
Langkah 5. Sekarang, kita akan menggunakan klausa JIKA TIDAK ADA dengan pernyataan CREATE USER
Berikan Hak Istimewa kepada Pengguna Baru MySQL
Server MySQL menyediakan beberapa jenis hak istimewa untuk akun pengguna baru. Beberapa hak istimewa yang paling umum digunakan diberikan di bawah ini
- SEMUA HAK ISTIMEWA. Itu mengizinkan semua hak istimewa untuk akun pengguna baru
- MEMBUAT. Ini memungkinkan akun pengguna untuk membuat database dan tabel
- MENJATUHKAN. Ini memungkinkan akun pengguna untuk menjatuhkan database dan tabel
- MENGHAPUS. Ini memungkinkan akun pengguna untuk menghapus baris dari tabel tertentu
- MENYISIPKAN. Ini memungkinkan akun pengguna untuk memasukkan baris ke dalam tabel tertentu
- PILIH. Ini memungkinkan akun pengguna untuk membaca database
- MEMPERBARUI. Ini memungkinkan akun pengguna untuk memperbarui baris tabel
Jika Anda ingin memberikan semua hak istimewa kepada pengguna yang baru dibuat, jalankan perintah berikut
Jika Anda ingin memberikan hak khusus kepada pengguna yang baru dibuat, jalankan perintah berikut
Terkadang, Anda ingin menghapus semua hak istimewa akun pengguna agar perubahan segera terjadi, ketikkan perintah berikut
Gunakan pernyataan GRANT_ untuk menyiapkan akun pengguna MySQL. Kemudian gunakan nama dan kata sandi akun itu untuk membuat koneksi ke server
Menghubungkan ke server MySQL memerlukan nama pengguna dan kata sandi. Anda juga dapat menentukan nama host tempat server berjalan. Jika Anda tidak menentukan parameter koneksi secara eksplisit, mysql mengasumsikan nilai default. Misalnya, jika Anda tidak menentukan nama host, mysql biasanya menganggap server berjalan di host lokal
Contoh berikut menunjukkan cara menggunakan program mysql untuk terhubung ke server dan mengeluarkan pernyataan GRANT yang mengatur akun pengguna dengan hak istimewa untuk mengakses database bernama cookbook. Argumen untuk mysql termasuk -h localhost untuk terhubung ke server MySQL yang berjalan di host lokal, -p untuk memberi tahu mysql untuk meminta kata sandi, dan -u root untuk terhubung sebagai pengguna MySQL root. Teks yang Anda ketik ditampilkan dalam huruf tebal;
% mysql -h localhost -p -u root Enter password: ****** mysql> GRANT ALL ON cookbook.* TO 'cbuser'@'localhost' IDENTIFIED BY 'cbpass'; Query OK, 0 rows affected (0.09 sec) mysql> QUIT ByeSetelah Anda memasukkan perintah mysql yang ditunjukkan pada baris pertama, jika Anda mendapatkan pesan yang menunjukkan bahwa program tidak dapat ditemukan atau itu adalah perintah yang buruk, lihat Resep 1. 8. Jika tidak, ketika mysql mencetak prompt kata sandi, masukkan kata sandi MySQL root di mana Anda melihat mysql> GRANT ALL ON cookbook.* TO 'cbuser'@'xyz.com' IDENTIFIED BY 'cbpass';2. (Jika pengguna MySQL root tidak memiliki kata sandi, cukup tekan Kembali pada permintaan kata sandi. ) Kemudian keluarkan pernyataan GRANT_ seperti yang ditunjukkan
Untuk menggunakan nama basis data selain cookbook, gantikan namanya di mana Anda melihat cookbook dalam pernyataan GRANT. Perhatikan bahwa Anda perlu memberikan hak istimewa untuk database meskipun akun pengguna sudah ada. Namun, dalam kasus tersebut, Anda mungkin ingin menghilangkan bagian mysql> GRANT ALL ON cookbook.* TO 'cbuser'@'xyz.com' IDENTIFIED BY 'cbpass';8 mysql> GRANT ALL ON cookbook.* TO 'cbuser'@'xyz.com' IDENTIFIED BY 'cbpass';9 GRANT0, karena jika tidak, Anda akan mengubah kata sandi akun tersebut saat ini
Bagian hostname dari GRANT_1 menunjukkan host dari mana Anda akan terhubung ke server MySQL untuk mengakses database cookbook. Untuk menyiapkan akun yang akan terhubung ke server yang berjalan di host lokal, gunakan localhost, seperti yang ditunjukkan. Jika Anda berencana untuk membuat koneksi ke server dari host lain, gantikan host tersebut dengan pernyataan GRANT. Misalnya, jika Anda akan terhubung ke server sebagai GRANT5 dari host bernama GRANT6, pernyataan GRANT akan terlihat seperti ini
mysql> GRANT ALL ON cookbook.* TO 'cbuser'@'xyz.com' IDENTIFIED BY 'cbpass';_Mungkin terpikir oleh Anda bahwa ada sedikit paradoks yang terlibat dalam prosedur yang baru saja dijelaskan. Artinya, untuk menyiapkan akun pengguna yang dapat membuat koneksi ke server MySQL, Anda harus terhubung ke server terlebih dahulu sehingga Anda dapat mengeluarkan pernyataan GRANT. Saya berasumsi bahwa Anda sudah dapat terhubung sebagai pengguna MySQL root, karena GRANT hanya dapat digunakan oleh pengguna seperti root yang memiliki hak administratif yang diperlukan untuk menyiapkan akun pengguna lain. Jika Anda tidak dapat terhubung ke server sebagai root, minta administrator MySQL Anda untuk mengeluarkan pernyataan GRANT untuk Anda. Setelah itu selesai, Anda harus dapat menggunakan akun MySQL baru untuk terhubung ke server, membuat database Anda sendiri, dan melanjutkan dari sana sendiri.