【发布时间】:2019-12-12 05:23:37
【问题描述】:
我正在尝试使用 prom/mysqld-exporter 和 prom/prometheus 对 mysql 进行 dockerize 监控。我已经配置了 docker-compose.yml 文件,如下所示:
version: '3'
services:
mysql:
image: mysql
container_name: mysql
restart: always
volumes:
- mysql:/var/lib/mysql
# command:
# - CREATE USER 'root'@'localhost' IDENTIFIED BY 'password' WITH MAX_USER_CONNECTIONS 3;
# - GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'root'@'localhost';
environment:
- MYSQL_ROOT_PASSWORD= password
- MYSQL_DATABASE= db #Defining a new Database
- MYSQL_USER= mostafa
- MYSQL_PASSWORD= ghadimi
ports:
- 3306:3306
- 33060:33060
prometheus:
image: prom/prometheus
container_name: prometheus
ports:
- 9090:9090
volumes:
- prometheus:/prometheus
- ./prometheus/prometheus.yml:/etc/prometheus/prometheus.yml
command:
- --config.file=/etc/prometheus/prometheus.yml
mysql-exporter:
image: prom/mysqld-exporter
container_name: mysql-exporter
ports:
- 9104:9104
volumes:
- ./mysql-exporter/.my.cnf:/root/.my.cnf
depends_on:
- mysql
volumes:
mysql:
prometheus:
这是我的 ./mysql-exporter/.my.cnf 文件:
[client]
user=mostafa
password=ghadimi
运行docker-compose up命令后,一切正常,除了以下错误!:
mysqld:拨号 tcp 127.0.0.1:3306:连接:连接被拒绝
我不知道如何解决它!
PS:我也尝试通过它的容器和docker exec -it <container-id> bash 命令连接到mysql,并且我尝试了所有可能的密码(比如空字符串和我在docker-compose中设置的密码)文件),但我面临另一个错误:
ERROR 1045 (28000): 拒绝用户 'root'@'localhost' 访问(使用密码:YES)
【问题讨论】:
-
哪个容器引发了这个错误?
-
@michalk
prom/mysqld-exporter
标签: mysql docker monitoring prometheus