为什么MySQL命令行工具会忽略--port参数?


88

这就是我在做什么:

mysql --host=localhost --port=9999 mysql -u root -p --execute="show tables;"

不管我在--port参数中提供什么命令都有效(连接到端口3306)。我有一台机器上运行着两个mysql服务器,并想通过显式提供其端口号连接到第二台mysql服务器。这是怎么回事?为什么mysql忽略此参数?

Answers:


153

localhost给出参数时,MySQL使用套接字。使用127.0.0.1代替。


14
令人气愤的是,在mysql手册页上没有提到这一事实。
珍妮克

1
除了此处可接受的答案外,在此mysql bugreport中可以找到更多解释,并且还可以链接到手册页。作为bugreport页面中的评论者之一,我也不明白为什么客户端至少在连接字符串中使用'localhost'时不会发出警告。
bukva-ziu

2
你是个救命的人!
Touqeer Shafi

我使用mysql已经有十年了,但这还没有实现,但是……
P.Scheit
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.