У меня сервер MySQL работает на Ubuntu 18.04 под Docker. Мне нужно загрузить отладчик MySQL (dbForge Studio) для разработки сложной хранимой процедуры. dbForge Studio работает только под Windows 10. Я обнаружил в своей сети компьютер с Windows 10 и загрузил dbForge Studio.
Когда я пытаюсь подключиться с компьютера Win к серверу MySQL (в Ubuntu), я получаю ошибку 10061, не удается подключиться
.
Как мне установить это соединение?
docker0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 172.XX.0.1 netmask 255.255.0.0 broadcast 172.XX.255.255
ether 02:42:e5:9e:83:17 txqueuelen 0 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
Вот мое определение mysql в docker-compose:
mysql:
container_name: "mysql"
restart: unless-stopped
image: mysql:5.7
command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_bin --sql_mode='' --general-log=1
environment:
- MYSQL_DATABASE
- MYSQL_PASSWORD
- MYSQL_ROOT_PASSWORD
- MYSQL_USER
volumes:
- data:/var/lib/mysql
- ./mysql/mysql.sql:/docker-entrypoint-initdb.d/mysql.sql
ports:
- "3306:3306"
networks:
- net
Ошибка 10061
означает в сетевом подключении было отказано, и это может произойти только в двух случаях:
root
В первой проблеме вам нужно подтвердите, что контейнер Docker прослушивает внешний трафик на 3306 и что файл my.conf
имеет привязку к 0.0.0.0
, а не к по умолчанию ]127.0.0.1
.
Для второго варианта не подключайтесь как root
. Создайте учетную запись с GRANT ALL ON *.* WITH GRANT OPTION
, чтобы предоставить этой учетной записи те же разрешения, что и root
.
Надеюсь, это укажет вам правильное направление