Локальное соединение MySQL не работает через tcp

После обновления моего vps до Ubuntu 16.04 (и примерно через месяц) мне нужно использовать сервер MySQL, который там работал. На самом деле это был экземпляр MariaDB, но, похоже, это не имеет никакого значения. Так как я не мог подключиться через ssh-туннель, как всегда, я попытался получить доступ напрямую из удаленной оболочки, и с помощью интерфейса mysql cli он работал. При попытке принудительно установить TCP-соединение с помощью mysql --protocol tcp я получаю ОШИБКА 1698 (28000): доступ запрещен для пользователя root @ localhost , а php выдает это предупреждение: mysqli :: __ construct (): (HY000 / 1698): Доступ запрещен для пользователя 'root' @ 'localhost' .

Я попытался очистить MariaDB, переустановить его, попытаться использовать сам пакет MySQL, удалив все конфигурация mysql и файл, но без результатов.

Конфигурация всегда включает адрес привязки = 127.0.0.1 и связанный порт, и это не комментируется, но кажется бесполезным.

Есть идеи?

0
задан 13 September 2016 в 20:33
1 ответ

Я узнал. С учетной записью root был связан плагин unix_socket . Я просто запустил update user set plugin = ''; и перезапустил процесс mysql , и он сработал.

0
ответ дан 5 December 2019 в 09:33

Теги

Похожие вопросы