Почему инструмент командной строки MySQL игнорирует параметр --port?


90

Это то, что я делаю:

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

Команда работает (подключение к порту 3306) независимо от того, что я предоставляю в качестве --portаргумента. У меня есть два сервера mysql, работающие на одном компьютере, и я хочу подключиться ко второму, явно указав номер порта. В чем дело? Почему mysqlигнорируется этот параметр?

Ответы:


156

Когда localhostзадан параметр, MySQL использует сокеты. Используйте 127.0.0.1вместо этого.


14
Весьма бесит, что этот факт не упоминается на man-странице mysql.
Янек

1
Помимо принятого ответа здесь, немного больше объяснения можно найти в этом отчете об ошибках MySQL, а также ссылку на справочную страницу . Как один из комментаторов на странице отчета об ошибках, я также не понимаю, почему клиент по крайней мере не выдает предупреждение в случае использования 'localhost' в строке подключения.
буква-зю

3
Вы спасатель жизни!
Тукер Шафи

я использую mysql уже десять лет, но это еще не
приходило
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.