我已经通过以下命令在Mac上安装了mysql-client:
brew install mysql-client
当我运行以下命令时:
mysql -h 127.0.0.1 -u root -p
发生错误1045:
ERROR 1045 (28000): Access denied for user 'root'@'172.17.0.1' (using password: NO)
但是当我使用
Sequel Pro
时,我可以登录本地mysql服务器。为什么127.0.0.1变成172.17.0.1?
更多详细信息
我在本地主机iTerm上运行此命令。我使用docker pull从docker注册表中提取mysql:5.7图像:
docker run --name mysql -e MYSQL_ROOT_PASSWORD=xxxxxx -d -p 0.0.0.0:3306:3306 mysql:5.7
并且mysql容器正在运行,然后我使用 Sequel Pro GUI客户端连接到docker中的数据库,并且可以正常工作。然后我尝试使用
brew install mysql-client
安装mysql命令(因为我想使用它来运行sql文件来为项目的测试套件准备数据)。安装mysql-client后,我使用命令
mysql -h 127.0.0.1 -u root -p
尝试连接数据库,但它促进了
**ERROR 1045 (28000): Access denied for user 'root'@'172.17.0.1'
(使用密码:NO)**。我没有对mysql docker容器进行而不是的任何配置。
最佳答案
经过数小时的尝试和搜索,终于找到了解决方案:
mysql -h 127.0.0.1 -P 3306 -u root -p
您需要一个
-P
参数关于mysql - mysql cli至127.0.0.1,但重定向到172.17.0.1,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56559129/