MySQL работает только тогда, когда Workbench подключается к порту 3306 - PullRequest
0 голосов
/ 19 января 2019

У меня проблема, и я не могу обернуться.

Я хочу использовать JDBC для подключения к базе данных MySQL внутри док-контейнера, однако получаю следующее:

Невозможно создать PoolableConnectionFactory (Невозможно создать соединение на сервер базы данных. Попытка переподключения 3 раза. Сдаюсь.)

<Context>
    <Resource name="jdbc/moviedb"
              auth="Container"
              driverClassName="com.mysql.jdbc.Driver"
              type="javax.sql.DataSource"
              username="user"
              password="pass"
              url="jdbc:mysql://localhost:3306/data?autoReconnect=true&amp;useSSL=false"/>
</Context>

Затем я загружаю MySQL Workbench, чтобы убедиться, что MySQL работал на порту 3306. И он работал, и мои таблицы и данные отображаются. Я пошел и обновил мое приложение, и вдруг оно показало данные. Почему это происходит? Я чувствую, что это как-то связано с localhost vs 127.0.0.1 (или что бы то ни было). И этот же проект работал на прошлой неделе без рабочей среды, однако единственное отличие заключалось в том, что я не использовал файл docker-compose.

Это мой docker-compose файл для контейнера:

version: "2.1"
services:
  database:
    container_name: data
    image: mysql
    volumes:
      - ./data.sql:/docker-entrypoint-initdb.d/data.sql
    ports:
      - "3306:3306"
    environment:
      MYSQL_DATABASE: "data"
      MYSQL_USER: "user"
      MYSQL_PASSWORD: "pass"
      MYSQL_ROOT_PASSWORD: "root"

Любое понимание будет высоко ценится.

Я забыл заметить, что при первом создании контейнера с помощью docker-compose up workbench не подключается к базе данных. только если я просто опустил контейнер, тогда docker compose start подключает верстак к серверу.

1 Ответ

0 голосов
/ 20 января 2019

Итак, я выяснил, в чем заключается проблема, когда мое назначение потребовало от меня использования файла SQL с 180 000 операторов вставки, поэтому это заняло так много времени.Мне пришлось вручную изменить их, чтобы они были только одним оператором вставки с несколькими значениями.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...