我正try 在停靠容器中设置MySQL,但当我try 连接时,我想通过Unix套接字连接到它,我收到以下错误:
(web-YtJryoMm-py3.8) redacted@myhost testsocket % mysql -u root --socket=/Users/redacted/testsocket/mysql.sock
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/Users/redacted/testsocket/mysql.sock' (61)
如您所见,该位置中确实存在mysql.sock文件:
(web-YtJryoMm-py3.8) redacted@myhost testsocket % ls -la /Users/redacted/testsocket
total 16
drwxr-xr-x 5 redacted staff 160 Oct 19 10:08 .
drwxrwxrwx+ 159 redacted staff 5088 Oct 19 10:18 ..
srwxrwxrwx@ 1 redacted staff 0 Oct 19 10:08 mysql.sock
-rwxrwxrwx@ 1 redacted staff 2 Oct 19 10:08 mysql.sock.lock
-rwxrwxrwx@ 1 redacted staff 2 Oct 19 10:08 mysqld.pid
出于测试目的,我对所有套接字文件进行了chmod修改,以确保权限不是问题.
当我try 通过TCP协议连接时,它工作正常:
(web-YtJryoMm-py3.8) redacted@myhost testsocket % mysql -u root --protocol=tcp
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 8.0.32 Source distribution
下面是我正在使用的docker-compose.yaml文件:
version: '3.9'
services:
mysql:
image: bitnami/mysql:8.0.32
container_name: 'mysql'
restart: always
environment:
- ALLOW_EMPTY_PASSWORD=yes
volumes:
- '~/volumes/mysql:/bitnami/mysql'
- '~/testsocket:/opt/bitnami/mysql/tmp'
ports:
- '3306:3306'
networks:
default:
driver: bridge
我错过了什么吗?