我为
mysql安装了一个docker镜像.
docker run --name mysql -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD="Foo" -e DB_REMOTE_ROOT_NAME=root -e DB_REMOTE_ROOT_PASS="foo" -e DB_USER=foo -e DB_PASS="foo" -e DB_NAME=foo -v /:/host -v /home/user1/data/mysql:/var/lib/mysql mysql:latest
一切都很好,我可以通过两种方式连接到mysql
docker exec -it mysql bash
mysql -ufoo -pfoo foo
并从我的mac控制台(没有docker exec -it)
mysql -ufoo -pfoo -h0.0.0.0 foo
我看到的问题是第二种方法需要很长时间才能连接.它连接成功,但有15到20秒的延迟.
而在docker exec中,它瞬间连接.
当我使用mysql而不是第一个SSH直接从我的mac终端连接到盒子时,为什么会出现延迟?
我试图用localhost替换0.0.0.0.但后来我收到了一个错误
mysql: [Warning] Using a password on the command line interface can be insecure.
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
编辑::
我尝试了以下内容并没有真正起作用
mysql -ufoo -pbar -h1x.1x.5x.14x foo
mysql -ufoo -pbar -h127.0.0.1 foo
mysql -ufoo -pbar -hmysql.local foo
以上3个都延迟了10秒
但如果我这样做
docker exec -it mysql bash
mysql -ufoo -pbar foo
这是瞬间没有延迟