gpt4 book ai didi

mySQL Docker "ERROR 2002 (HY000): Can' t 通过套接字连接到本地 MySQL 服务器”

转载 作者:行者123 更新时间:2023-11-29 18:15:22 25 4
gpt4 key购买 nike

有一个小脚本来提取一些 mySQL 服务器变体并在不同版本上测试我的脚本。我的 shell 脚本是:

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"

关于mySQL Docker "ERROR 2002 (HY000): Can' t 通过套接字连接到本地 MySQL 服务器”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47077292/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com