日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

為Prometheus創(chuàng)建MySQL訪問賬號

更新時(shí)間:

使用Prometheus收集MySQL數(shù)據(jù)庫監(jiān)控?cái)?shù)據(jù)時(shí),需要?jiǎng)?chuàng)建一個(gè)供Prometheus使用的MySQL訪問賬號,并最小化授予只讀權(quán)限。本文將以mysqld_exporter為例,為您演示創(chuàng)建的全部步驟。

示例說明

  • $mysql>為命令提示符,在輸入命令時(shí),請避免輸入提示符。

  • #--為注釋前綴,在輸入命令時(shí),請避免輸入注釋前綴及注釋內(nèi)容。

操作步驟

說明

MySQL 8.0版本之后禁止使用GRANT語句創(chuàng)建新用戶,創(chuàng)建用戶與授權(quán)操作需要分開執(zhí)行。因此,本文示例將分為創(chuàng)建授權(quán)兩個(gè)步驟。

MySQL 8.0版本之前的用戶可以在登錄賬號后,參考步驟三:授權(quán)所示操作和注釋,創(chuàng)建并授權(quán)賬戶。

步驟一:登錄root賬戶或管理員賬戶

啟動(dòng)并登錄MySQL,以root用戶為例。

$ mysql -u root -p

# 在Enter password后輸入root用戶密碼
Enter password: password

步驟二:創(chuàng)建賬號

  1. 在MySQL命令行中執(zhí)行以下命令,創(chuàng)建一個(gè)賬號mysqld_exporter

    mysql> CREATE USER 'mysqld_exporter'@'localhost' IDENTIFIED BY 'password';
    • localhost:允許連接的主機(jī)IP,可根據(jù)實(shí)際情況替換。

    • mysqld_exporterpassword是自定義的用戶名和密碼,可以根據(jù)實(shí)際情況進(jìn)行替換。

  2. 驗(yàn)證(可選)

    在命令行中執(zhí)行以下命令,若查詢到用戶及對應(yīng)主機(jī)信息,則用戶mysqld_exporter創(chuàng)建成功。

    -- 從mysql.user表中查詢用戶信息
    mysql> SELECT User,Host FROM mysql.user WHERE User = 'mysqld_exporter';
    
    -- 查詢結(jié)果
    +-----------------+-----------+
    | User            | Host      |
    +-----------------+-----------+
    | mysqld_exporter | localhost |
    +-----------------+-----------+

步驟三:授權(quán)

  1. 在命令行中執(zhí)行授權(quán)命令,對mysqld_exporter賬戶進(jìn)行最小化授權(quán)。

    -- 添加對所有表的主從服務(wù)器狀態(tài)檢查權(quán)限和進(jìn)程查看權(quán)限。
    -- 直接使用GRANT語句創(chuàng)建新用戶時(shí),建議在末尾添加[IDENTIFIED BY 'password']以設(shè)置用戶密碼。
    mysql> GRANT REPLICATION CLIENT, PROCESS ON *.* TO 'mysqld_exporter'@'localhost';
    
    -- 添加performance_schema.* 表的讀取權(quán)限。
    mysql> GRANT SELECT ON performance_schema.* TO 'mysqld_exporter'@'localhost';
    
    -- 重新加載權(quán)限表,使賬號授權(quán)生效。
    mysql> FLUSH PRIVILEGES;
    • REPLICATION CLIENT:授權(quán)語句,允許賬戶檢查主/從服務(wù)器狀態(tài)。

    • PROCESS:授權(quán)語句,允許賬戶查看MySQL中的進(jìn)程信息。

  2. 驗(yàn)證(可選)

    在命令行中執(zhí)行以下命令,可檢查用戶是否已被授予相應(yīng)權(quán)限。

    -- 查看用戶持有權(quán)限
    mysql> SHOW GRANTS FOR 'mysqld_exporter'@'localhost';
    
    -- 查詢結(jié)果
    +---------------------------------------------------------------------------+
    | Grants for mysqld_exporter@localhost                                      |
    +---------------------------------------------------------------------------+
    | GRANT REPLICATION CLIENT, PROCESS ON *.* TO 'mysqld_exporter'@'localhost' |
    | GRANT SELECT ON performance_schema.* TO 'mysqld_exporter'@'localhost'     |
    +---------------------------------------------------------------------------+

常見問題及解決方案

  • Operation CREATE USER failed for 'usernam'@'hostname'

    這個(gè)錯(cuò)誤表示創(chuàng)建用戶失敗,因?yàn)橐呀?jīng)存在具有相同名稱的用戶。要解決此問題,可以首先嘗試刪除現(xiàn)有用戶,然后再創(chuàng)建新的用戶。刪除用戶命令:

    mysql> DROP USER 'username'@'hostname';
  • Access denied for user 'username'@'hostname'(using password: YES/NO)

    這個(gè)錯(cuò)誤表示MySQL服務(wù)器拒絕了連接嘗試,因?yàn)樘峁┑挠脩裘蛎艽a不正確。要解決此問題,可以檢查使用的用戶名和密碼是否正確,并確保已為用戶授予適當(dāng)?shù)臋?quán)限。

  • Can't find any matching row in the user table

    這個(gè)錯(cuò)誤表示使用的用戶名或主機(jī)名在MySQL權(quán)限列表中不存在。要解決此問題,可以檢查是否有拼寫錯(cuò)誤,并確保正確地輸入了主機(jī)名。如確認(rèn)拼寫無誤可嘗試使用FLUSH PRIVILEGES命令刷新權(quán)限列表。

相關(guān)文檔

使用Prometheus收集MySQL數(shù)據(jù)庫監(jiān)控?cái)?shù)據(jù)的具體操作,請參考如何使用Prometheus監(jiān)控MySQL