Я пытаюсь подключиться к MySQL через командную строку. Но я всегда получаю «доступ запрещен для пользователя 'admin' @ 'localhost'». (Ошибка 1045).
Этот MySQL работает на сервере Windows 2012 R2. У меня есть два экземпляра сервера MySQL, работающих на разных портах: один для базы данных Plesk на порту 8306, а другой - для клиентской базы данных (к которой я пытаюсь подключиться) на обычном порту 3306.
Как указано здесь: http://kb.sp.parallels.com/en/427 Я использую соответствующие имя пользователя и пароль.
И я запускаю эту команду: mysql -uadmin -p*** -P3306
. Но это дает мне ошибку отказа в доступе.
Буду очень признателен, если кто-нибудь подскажет, в чем может быть причина этой ошибки.
Если вы можете подключиться локально с помощью чего-то другого, например php, ваши учетные данные могут не иметь удаленного доступа.
Что еще вы можете сделать: - Убедитесь, что брандмауэр не блокирует доступ к MySQL.
Убедитесь, что сервер не настроен на игнорирование сетевых подключений. Если сервер запущен с --bind-address = 127.0.0.1, он не будет принимать TCP-соединения.
Убедитесь, что таблицы грантов инициализированы. Если нет, сделайте это вручную.
Запустите сценарий mysql_upgrade, если вы сделали недавние обновления.
Проверьте переменные среды. Они могут содержать недопустимые параметры подключения по умолчанию.
Вы использовали PASSWORD () для смены пароля? Если вы использовали SET PW / INS / UPD, это не сработает.
Неверно
SET PASSWORD FOR 'q'@'hostname' = 'pas';
Верный:
SET PASSWORD FOR 'q'@'hostname' = PASSWORD('pas');
Проверьте таблицу пользователей, выполнив mysql -u root mysql и выполнив этот оператор SQL:
ВЫБРАТЬ * ОТ пользователя;
У вас должна быть строка со столбцами host и user, соответствующими имени хоста вашего клиента и вашему имени пользователя MySQL.
Есть более глубокие вещи, которые можно проверить, но обычно это что-то из вышеперечисленного.