Mysql connect error [localhost]: (2002) No such file or directory (400)?
Когда mysqli подключается к MySQL через localhost, он использует не сеть, а сокет юникс. Для этого должен быть правильно задан путь к файлу сокета - параметр mysqli.default_socket в php.ini. Он должен указывать на тот же файл, что и параметр socket в настройках MySQL.
Альтернатива - подключение через 127.0.0.1. В этом случае соединение будет установлено через сетевую подсистему.
Решил проблему поменяв localhost на 127.0.0.1. и создав нового пользователя, для 127.0.0.1.