mysql
(по уважительным причинам) очень старается подключиться к файлу сокета, когда сервер XAMPP mysql находится на «localhost». Но поскольку Win64 mysqld
, конечно, не удаляет файл сокета внутри файловой системы Windows Subsystem for Linux, он не может подключиться через файл сокета. Как заставить его использовать порт?
$ mysql --port=3306 -p
Enter password:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2 "No such file or directo
ry")
Nmap показывает, что порт 3306 доступен.
$ nmap localhost -p 3306
Starting Nmap 7.60 ( https://nmap.org ) at 2019-04-25 09:58 DST
Problem binding to interface , errno: 92
socket_bindtodevice: Protocol not available
Problem binding to interface , errno: 92
socket_bindtodevice: Protocol not available
Problem binding to interface , errno: 92
socket_bindtodevice: Protocol not available
Nmap scan report for localhost (127.0.0.1)
Host is up (0.0019s latency).
PORT STATE SERVICE
3306/tcp open mysql
Nmap done: 1 IP address (1 host up) scanned in 0.05 seconds
Я бы предпочел не связывать mysqld с моей внешней сетью, если мне это не нужно.
Как мне сказать программному обеспечению mysql: «Послушайте, я знаю, что вы думаете, но, пожалуйста, используйте порт 3306, а не сокет»? Желательно, чтобы я тоже знал, как сказать то же самое PHP.