prom/mysqld-exporter 日志如下


启动代码如下
docker run -d -p 9104:9104 \
-e DATA_SOURCE_NAME="ROOT:123456@tcp(192.168.223.128:3306)/" \
--name mysqld-exporter \
prom/mysqld-exporter
启动后

docker ps 查看 没有启动成功

prom/mysqld-exporter 日志如下


启动代码如下
docker run -d -p 9104:9104 \
-e DATA_SOURCE_NAME="ROOT:123456@tcp(192.168.223.128:3306)/" \
--name mysqld-exporter \
prom/mysqld-exporter
启动后

docker ps 查看 没有启动成功

下午好🌅🌅🌅
本答案参考通义千问
根据你提供的信息,prom/mysqld-exporter 启动失败,可能的原因包括:
ROOT 没有权限访问 MySQL 数据库。DATA_SOURCE_NAME 的格式不正确。检查 MySQL 是否可达
alpine 容器测试连通性:
docker run --rm -it alpine sh
ping 192.168.223.128
telnet 192.168.223.128 3306
确认 DATA_SOURCE_NAME 格式是否正确
<user>:<password>@tcp(<host>:<port>)/<database>"ROOT:123456@tcp(192.168.223.128:3306)/",表示没有指定数据库名,这是可以接受的,但需要确保用户权限足够。检查 MySQL 用户权限
GRANT REPLICATION CLIENT, PROCESS ON *.* TO 'ROOT'@'%';
FLUSH PRIVILEGES;
% 或添加允许的 IP。使用 --network host 或自定义网络
--network host(Linux 下有效):
docker run -d -p 9104:9104 \
--network host \
-e DATA_SOURCE_NAME="ROOT:123456@tcp(192.168.223.128:3306)/" \
--name mysqld-exporter \
prom/mysqld-exporter
检查 MySQL 服务是否正常运行
mysqld 服务正在运行:
systemctl status mysql
确认 MySQL 允许远程访问
/etc/mysql/mysql.conf.d/mysqld.cnf),确保 bind-address 设置为 0.0.0.0 或注释掉该行:
bind-address = 0.0.0.0
systemctl restart mysql
验证 MySQL 用户权限
CREATE USER 'ROOT'@'%' IDENTIFIED BY '123456';
GRANT REPLICATION CLIENT, PROCESS ON *.* TO 'ROOT'@'%';
FLUSH PRIVILEGES;
重新启动 mysqld-exporter
docker run -d -p 9104:9104 \
-e DATA_SOURCE_NAME="ROOT:123456@tcp(192.168.223.128:3306)/" \
--name mysqld-exporter \
prom/mysqld-exporter
检查日志获取更多信息
mysqld-exporter 容器日志:
docker logs mysqld-exporter
docker run -d -p 9104:9104 \
-e DATA_SOURCE_NAME="ROOT:123456@tcp(192.168.223.128:3306)/" \
--name mysqld-exporter \
prom/mysqld-exporter
| 错误提示 | 解决方案 |
|----------|----------|
| could not connect to MySQL | 检查 MySQL 是否可访问、用户权限、防火墙设置 |
| invalid data source name | 确认 DATA_SOURCE_NAME 格式正确 |
| connection refused | 检查 MySQL 端口是否开放、网络是否连通 |
| access denied for user | 检查 MySQL 用户密码和权限 |
如果你仍然遇到问题,请提供 docker logs mysqld-exporter 的具体输出内容,我可以进一步帮你定位问题。