Я создал grafana с контейнером докеров. И я создал mysql с контейнером докеров. После этого я попытался получить доступ к grafana и добавить контейнер mysql через «источник данных». Однако произошла следующая ошибка. В чем проблема?
db query error: query failed - please inspect Grafana server log for details
[настройка источников данных grafana]
Хост: 10.0.7.35:3306
И я установил адрес привязки в «/etc/mysql/my.cnf» для 0.0.0.0:3306 в контейнере mysql.
Вы можете сделать это тремя способами
-p 3306:3306
и найти IP-адрес докера и подключиться к этому порту на этом IP-адресе из той же сети.--link name_of_mysql_container:mysql
, а затем в докере приложения просто подключитесь к name_of_mysql_container.version: '3.2'
services:
app:
build: .
image: lap
environment:
- DB_HOST=mysql
mysql:
image: mysql
ports:
- "3306:3306"
environment:
- MYSQL_ROOT_PASSWORD=root
И затем вы можете использовать соединение с базой данных контейнера приложения для хоста с именем «mysql».
Похоже, вы уже используете композитор (поскольку вы написали порты: - 3306 в стиле композитора), поэтому вместо Host : 10.0.7.35:3306
попробуйте использовать Host: name_of_mysql_container
вы можете отредактировать исходный пост и предоставить нам полный файл композитора, тогда это будет немного проще. что вы можете сделать, так это войти в докер с графаной и проверить, есть ли подключение (зависит от используемого вами образа, вы можете docker exec -it grafana bash and then mysql -h mysql -u ..
да, я пытался Host : mysql:3306
. но вывод такой же (ошибка). обратите внимание, что я проверяю пинг от контейнера mysql до контейнера grafana, проблем с пингом нет.
Вы можете отметить: telnet mysql 3306
или nc mysql 3306
; вы видите, есть ли связь? тогда, если это означает, что проблема с пользователем и паролем, попробуйте команду mysql -h mysql -u .. -p..
, чтобы проверить, все ли в порядке. также посмотрите на docker logs grafana
, если есть еще ошибка к той, которую вы вставили
хорошо, я проверил журнал контейнера grafana. я нашел эту ошибку «Ошибка 1130: хосту« grafana »не разрешено подключаться к этому серверу MySQL». Нужно ли устанавливать [базу данных] на grafana.ini?
Это означает, что вы должны добавить нового пользователя: `СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ 'grafana_user'@'grafana', ИДЕНТИФИЦИРОВАННОГО 'somehardpassword'; ПРЕДОСТАВИТЬ ВСЕ НА . 'grafana_user'@'grafana'; Сброс привилегий. Ошибка, которую вы обнаружили, связана с тем, что в вашей пользовательской таблице mysql нет пользователя с хостом «grafana».
OMG... Мне стыдно за себя за то, что я не смог решить простую ошибку, которую нужно создать только пользователю. Спасибо!!!
Спасибо за ваш ответ. Я просто хочу подключить mysql (контейнер докеров) из grafana (контейнер докеров). Я уже использую "порты: - "3306:3306"", но это не работает. Я добавляю сообщение об ошибке в свой вопрос, пожалуйста, проверьте его еще раз. Спасибо.