![](/img/trans.png)
[英]MySQL ERROR 2002 (HY000): Can't connect to local MySQL server through socket
[英]mySQL Docker “ERROR 2002 (HY000): Can't connect to local MySQL server through socket”
有一個小腳本可以提取一些mySQL服務器變體並在不同版本上測試我的腳本。 我的shellscript是:
docker pull mysql:$version
docker run -d -v $(pwd)/mysql.sh:/mysql.sh --name=mysql."$version" -e MYSQL_ROOT_PASSWORD='root' mysql:"$version"
docker exec -it mysql."$version" bash -c 'bash ./mysql.sh'
mysql.sh文件是:
/etc/init.d/mysql restart || service mysql restart || service mysqld restart
mysql -proot -e "SELECT @@version"
我收到以下錯誤:
./mysql.sh: line 1: /etc/init.d/mysql: No such file or directory
mysql: unrecognized service
mysqld: unrecognized service
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
有人知道怎么了嗎?
docker不使用服務的init.d結構,因為它沒有服務。 如果檢查Dockerfile內部,將看到mysql在前台啟動。
在您的第一個腳本中,不需要命令docker exec -it mysql."$version" bash -c 'bash ./mysql.sh'
是不需要的。 您應該將其替換為:
docker exec -it mysql."$version" mysql -proot -e "SELECT @@version"
該錯誤表明未找到/etc/init.d/mysql
。 您需要將其更改為/usr/bin/mysql
,它應該可以工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.