You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Netdata安装后MariaDB出现‘Access denied for user 'netdata'@'localhost' (using password: NO)’警告的疑问及解决方法

Netdata安装后MariaDB出现‘Access denied for user 'netdata'@'localhost' (using password: NO)’警告的疑问及解决方法

Hey there, let's break down this warning and figure out what to do about it:

1. 这个警告是什么意思?

Netdata自带了一个监控MariaDB/MySQL数据库的模块,默认情况下,这个模块会尝试用名为netdata的用户无密码连接本地MariaDB实例,以此获取查询速率、连接数、资源占用这类监控指标。出现这个警告,是因为你的MariaDB服务器里不存在netdata这个用户,或者该用户没有权限访问数据库统计数据。

2. 这说明Netdata配置错误了吗?

其实不算。Netdata本身安装是正常的——这只是MariaDB监控模块的小问题,对功能的影响分两种情况:

  • 如果你不需要监控MariaDB的指标(比如数据库负载、连接数等),Netdata的其他功能(系统CPU/内存/磁盘、Nginx、PHP-FPM等)完全不受影响,正常运行。
  • 如果你需要监控MariaDB,那这个模块会无法收集数据,你在Netdata仪表盘里就看不到任何和MariaDB相关的统计信息。

3. 怎么解决这个问题?

根据你是否需要MariaDB监控,有两种解决方式:

方式一:禁用MariaDB监控(不需要的话)

  • 用编辑器打开Netdata的MySQL配置文件:
    sudo nano /etc/netdata/go.d/mysql.conf
    
  • 找到enabled: yes这一行,改成enabled: no
  • 保存文件后重启Netdata生效:
    sudo systemctl restart netdata
    

之后警告就会消失,Netdata会跳过MariaDB的监控尝试。

方式二:创建netdata用户用于监控(需要MariaDB指标的话)

按以下步骤创建所需用户并授予必要权限:

  1. 以root用户登录MariaDB:
    sudo mysql -u root -p
    
    (输入你的MariaDB root密码即可进入)
  2. 执行以下SQL命令创建netdata用户,并授予仅够获取监控数据的最小权限(不需要完整数据库访问权限):
    CREATE USER 'netdata'@'localhost' IDENTIFIED BY '';
    GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'netdata'@'localhost';
    FLUSH PRIVILEGES;
    
  3. 输入exit退出MariaDB命令行。
  4. 重启Netdata让它识别新用户:
    sudo systemctl restart netdata
    

完成后警告会消失,你就能在Netdata仪表盘里看到MariaDB的相关监控指标了。


备注:内容来源于stack exchange,提问作者DanRan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.22 09:23:09