Cara menggunakan mysql process privilege

Pada Centos 5 saya mendapatkan segala macam kesalahan mencoba untuk membuat perubahan pada beberapa nilai variabel dari MySQL Shell, setelah masuk dengan uid dan pw yang tepat (dengan akses root). Kesalahan yang saya dapatkan adalah sesuatu seperti ini: 

mysql> -- Set some variable value, for example
mysql> SET GLOBAL general_log='ON';
ERROR 1227 (42000): Access denied; you need (at least one of) the SUPER privilege(s) for this operation

Dalam momen kebetulan ekstrim saya melakukan yang berikut:

OS-Shell> Sudo mysql                          # no DB uid, no DB pw

Mohon diperhatikan bahwa saya tidak memberikan DB uid dan kata sandi  

mysql> show variables;
mysql> -- edit the variable of interest to the desired value, for example
mysql> SET GLOBAL general_log='ON';

Itu bekerja seperti pesona

Lompati ke konten utama

Browser ini sudah tidak didukung.

Mutakhirkan ke Microsoft Edge untuk memanfaatkan fitur, pembaruan keamanan, dan dukungan teknis terkini.

Buat pengguna di Azure Database for MySQL

  • Artikel
  • 09/27/2022
  • 3 menit untuk membaca

Dalam artikel ini

BERLAKU UNTUK:

Cara menggunakan mysql process privilege
Azure Database for MySQL - Server Tunggal
Cara menggunakan mysql process privilege
Azure Database for MySQL - Server Fleksibel

Artikel ini menjelaskan cara membuat pengguna untuk Azure Database for MySQL.

Catatan

Artikel ini berisi referensi ke istilah slave, istilah yang tidak lagi digunakan Microsoft. Saat istilah dihapus dari perangkat lunak, kami akan menghapusnya dari artikel ini.

Saat pertama kali membuat server Azure Database for MySQL, Anda memberikan nama pengguna dan kata sandi admin server. Untuk mengethaui informasi selengkapnya, lihat Mulai cepat ini. Anda dapat menentukan nama pengguna admin server di portal Azure.

Pengguna admin server memiliki hak istimewa ini:

SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, PROCESS, REFERENCES, INDEX, ALTER, SHOW DATABASES, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER

Setelah membuat server Azure Database for MySQL, Anda dapat menggunakan akun admin server pertama untuk membuat lebih banyak pengguna dan memberikan akses admin kepada mereka. Anda juga dapat menggunakan akun admin server untuk membuat pengguna dengan sedikit hak istimewa yang memiliki akses ke skema database individual.

Catatan

Hak istimewa SUPER dan peran DBA tidak didukung. Tinjau hak istimewa dalam artikel batasan untuk memahami apa yang tidak didukung dalam layanan.

Plugin kata sandi seperti validate_password dan caching_sha2_password tidak didukung oleh layanan.

Membuat database

  1. Dapatkan informasi koneksi dan nama pengguna admin. Untuk menyambungkan ke server database, Anda memerlukan nama server lengkap dan info masuk admin. Anda dapat dengan mudah menemukan nama server dan informasi masuk di halaman Gambaran umum server atau di halaman Properti di portal Azure.

  2. Gunakan akun admin dan kata sandi untuk menyambungkan ke server database Anda. Gunakan alat klien pilihan Anda, seperti MySQL Workbench, mysql.exe, atau HeidiSQL.

  1. Edit dan jalankan kode SQL berikut. Ganti nilai tempat penampung db_user dengan nama pengguna baru yang Anda maksudkan. Ganti nilai tempat penampung testdb dengan nama database Anda.

    Kode SQL ini membuat database baru bernama testdb. Kemudian membuat pengguna baru di layanan MySQL dan memberikan semua hak istimewa untuk skema database baru (testdb.*) kepada pengguna itu.

    CREATE DATABASE testdb;
    

Membuat pengguna non-admin

Sekarang setelah database dibuat , Anda dapat membuat dengan pengguna non-admin dengan CREATE USER pernyataan MySQL.

CREATE USER 'db_user'@'%' IDENTIFIED BY 'StrongPassword!';

GRANT ALL PRIVILEGES ON testdb . * TO 'db_user'@'%';

FLUSH PRIVILEGES;

Memverifikasi izin pengguna

Jalankan SHOW GRANTS pernyataan MySQL untuk melihat hak istimewa yang diizinkan bagi pengguna db_user pada basis data testdb.

USE testdb;

SHOW GRANTS FOR 'db_user'@'%';

Menyambungkan ke database dengan pengguna baru

Masuk ke server, menentukan database khsuus dan menggunakan nama pengguna dan kata sandi baru. Contoh ini menunjukkan baris perintah mysql. Saat menggunakan perintah ini, Anda akan dimintai kata sandi pengguna. Gunakan nama server, nama database, dan nama pengguna Anda sendiri. Lihat cara menyambungkan server Tunggal dan server Fleksibel di bawah ini.

Jenis serverPenggunaan
Server Tunggal mysql --host mydemoserver.mysql.database.azure.com --database testdb --user db_user@mydemoserver -p
Server Fleksibel mysql --host mydemoserver.mysql.database.azure.com --database testdb --user db_user -p

Membatasi hak istimewa untuk pengguna

Untuk membatasi jenis operasi yang dapat dijalankan pengguna di database, Anda perlu menambahkan operasi secara eksplisit dalam pernyataan GRANT. Lihat contoh di bawah ini:

CREATE USER 'new_master_user'@'%' IDENTIFIED BY 'StrongPassword!';

GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, PROCESS, REFERENCES, INDEX, ALTER, SHOW DATABASES, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER ON *.* TO 'new_master_user'@'%' WITH GRANT OPTION;

FLUSH PRIVILEGES;   

Tentang azure_superuser

Semua server Azure Database for MySQL dibuat dengan pengguna yang disebut "azure_superuser". Ini adalah akun sistem yang dibuat oleh Microsoft untuk mengelola server untuk melakukan pemantauan, pencadangan, dan pemeliharaan rutin lainnya. Teknisi yang siap kapan saja juga dapat menggunakan akun ini untuk mengakses server selama insiden dengan autentikasi sertifikat dan harus meminta akses menggunakan proses just-in-time (JIT).

Langkah berikutnya

Untuk mengetahui informasi selengkapnya tentang manajemen akun pengguna, lihat dokumentasi produk MySQL untuk Manajemen akun pengguna, sintaks GRANT, dan Hak Istimewa.