全部产品
Search
文档中心

Managed Service for Prometheus:Buat pengguna MySQL untuk Managed Service for Prometheus

更新时间:Jul 02, 2025

Untuk mengumpulkan data pemantauan dari basis data MySQL ke Managed Service for Prometheus, Anda perlu membuat pengguna MySQL dan memberikan izin minimum kepada pengguna tersebut. Dalam topik ini, pengguna dengan ID mysqld_exporter dibuat.

Catatan Penggunaan

  • $ dan mysql> adalah karakter prompt. Jangan masukkan karakter prompt saat memasukkan perintah.

  • # dan -- adalah awalan anotasi. Jangan masukkan anotasi atau awalannya saat memasukkan perintah.

Prosedur

Catatan

Basis data MySQL versi 8.0 dan yang lebih baru tidak mendukung penggunaan pernyataan GRANT untuk membuat pengguna baru. Pengguna harus dibuat dan diberi otorisasi secara terpisah. Dalam topik ini, Langkah 2 menjelaskan cara membuat pengguna dan Langkah 3 menjelaskan cara memberikan otorisasi kepada pengguna.

Jika Anda menggunakan basis data MySQL sebelum versi 8.0, Anda dapat membuat dan memberikan otorisasi kepada pengguna setelah masuk sebagai root user atau administrator. Untuk informasi lebih lanjut, lihat Langkah 3: Berikan Otorisasi kepada Pengguna.

Langkah 1: Masuk sebagai root user atau administrator

Mulai dan masuk ke basis data MySQL. Root user digunakan sebagai contoh.

$ mysql -u root -p

# Ganti "password" dengan kata sandi root user.
Enter password: password

Langkah 2: Buat pengguna

  1. Jalankan perintah berikut di baris perintah untuk membuat pengguna bernama mysqld_exporter:

    mysql> CREATE USER 'mysqld_exporter'@'localhost' IDENTIFIED BY 'password';
    • localhost: alamat IP host yang dapat dihubungkan. Gantilah dengan alamat IP aktual.

    • Ganti mysqld_exporter dan password dengan nama pengguna dan kata sandi kustom.

  2. Verifikasi (opsional)

    Jalankan perintah berikut di baris perintah. Jika informasi pengguna dan host ditemukan, mysqld_exporter telah dibuat.

    -- Query informasi pengguna dari tabel mysql.user.
    mysql> SELECT User,Host FROM mysql.user WHERE User = 'mysqld_exporter';
    
    -- Hasil
    +-----------------+-----------+
    | User            | Host      |
    +-----------------+-----------+
    | mysqld_exporter | localhost |
    +-----------------+-----------+

Langkah 3: Berikan otorisasi kepada pengguna

  1. Jalankan perintah berikut di baris perintah untuk memberikan izin minimum kepada mysqld_exporter:

    -- Berikan pengguna izin untuk mengakses semua tabel dan memeriksa informasi proses serta status basis data master dan slave. 
    -- Jika Anda menggunakan pernyataan GRANT untuk membuat pengguna baru, kami sarankan Anda menambahkan [IDENTIFIED BY 'password'] di akhir perintah berikut untuk mengatur kata sandi. 
    mysql> GRANT REPLICATION CLIENT, PROCESS ON *.* TO 'mysqld_exporter'@'localhost';
    
    -- Tambahkan izin baca pada tabel performance_schema.*. 
    mysql> GRANT SELECT ON performance_schema.* TO 'mysqld_exporter'@'localhost';
    
    -- Muat ulang tabel grant agar otorisasi berlaku. 
    mysql> FLUSH PRIVILEGES;
    • REPLICATION CLIENT: pernyataan yang memberikan izin kepada pengguna untuk memeriksa status basis data master dan slave.

    • PROCESS: pernyataan yang memberikan izin kepada pengguna untuk memeriksa informasi proses.

  2. Verifikasi (opsional)

    Jalankan perintah berikut di baris perintah untuk memeriksa apakah pengguna telah diberikan izin yang diperlukan:

    -- Lihat izin pengguna.
    mysql> SHOW GRANTS FOR 'mysqld_exporter'@'localhost';
    
    -- Hasil
    +---------------------------------------------------------------------------+
    | Grants for mysqld_exporter@localhost                                      |
    +---------------------------------------------------------------------------+
    | GRANT REPLICATION CLIENT, PROCESS ON *.* TO 'mysqld_exporter'@'localhost' |
    | GRANT SELECT ON performance_schema.* TO 'mysqld_exporter'@'localhost'     |
    +---------------------------------------------------------------------------+

FAQ

  • Operasi CREATE USER gagal untuk 'usernam'@'hostname'

    Kesalahan ini menunjukkan bahwa pembuatan pengguna gagal karena pengguna dengan nama yang sama sudah ada. Untuk menyelesaikan masalah ini, hapus pengguna yang ada lalu buat pengguna baru. Jalankan perintah berikut untuk menghapus pengguna:

    mysql> DROP USER 'username'@'hostname';
  • Akses ditolak untuk pengguna 'username'@'hostname'(menggunakan kata sandi: YA/TIDAK)

    Kesalahan ini menunjukkan bahwa server MySQL menolak permintaan koneksi karena nama pengguna atau kata sandi tidak valid. Untuk menyelesaikan masalah ini, periksa nama pengguna dan kata sandi, serta pastikan pengguna telah diberikan izin yang diperlukan.

  • Tidak dapat menemukan baris yang cocok di tabel pengguna

    Kesalahan ini menunjukkan bahwa nama pengguna atau nama host tidak ada di tabel grant. Untuk menyelesaikan masalah ini, periksa kesalahan ejaan dan pastikan nama host valid. Jika Anda yakin ejaannya benar, gunakan perintah FLUSH PRIVILEGES untuk menyegarkan tabel grant.

Referensi

Untuk informasi tentang cara menggunakan Managed Service for Prometheus untuk mengumpulkan data pemantauan MySQL, lihat Gunakan Managed Service for Prometheus untuk Memantau Basis Data MySQL.