Подтвердить что ты не робот

Не удалось подключиться к mysql при 127.0.0.1:3306 с правами пользователя root, запрещенным для пользователя "root" @ "localhost" (с использованием пароля: YES)

Я пытаюсь создать новое соединение с базой данных на workbench. Однако каждый раз, когда я тестирую соединение, появляется сообщение об ошибке, в котором говорится

Не удалось подключиться к mysql в 127.0.0.1:3306 с правами пользователя root, запрещенным для пользователя 'root' @'localhost' (с использованием пароля: YES)

Я не знаю, в чем причина этой ошибки. Я попытался удалить и переустановить мой workbench 6.1 и mysql server 5.6, но ошибка все еще не решена.

4b9b3361

Ответ 1

Сначала проверьте, не проблема или проблема подключения.

1) В ваших окнах запустите 'cmd', чтобы открыть терминал

Попробуйте как

2a) mysql -u root -p -h 127.0.0.1 -P 3306

2b) mysql -u root -p -h > localhost -P 3306

3) Если соединение хорошее, вы получите приглашение пароля, чтобы узнать, можете ли вы подключиться с правильным паролем.

Если ваше соединение отклонено, просто дайте разрешение

mysql >GRANT ALL ON [DatabaseName].* TO 'root'@'127.0.0.1' IDENTIFIED BY '[PASSWORD]';

Если ваше соединение принято здесь, оно похоже на проблему конфигурации рабочего места.

Ответ 2

У меня была та же проблема.
Я установил новый mysql в Ubuntu, но я оставил пароль mysql пустым, и в результате я никак не мог подключиться к mysql.
В последнее время я обнаружил, что есть таблица пользователей, где указаны имена, хосты, пароли и некоторые плагины. Итак, для моего пользователя root @localhost mysql при установке назначено плагин с именем auth_socket, который позволяет пользователю root "root" войти в систему как пользователь root из "mysql" без пароля, но не разрешает вход в систему как другой Пользователь Unix. Поэтому, чтобы исправить это, вы должны отключить этот плагин и установить обычную проверку подлинности:

  • открыть терминал Linux
  • введите " sudo mysql"
    вы увидите "mysql > ", что означает, что вы подключились к mysql в качестве "root" Unix-пользователя, и вы можете вводить SQL-запросы.
  • введите SQL-запрос, чтобы изменить способ входа в систему:
    ALTER USER 'root' @'localhost' IDENTIFIED WITH mysql_native_password BY 'your_new_password';
    где "mysql_native_password" означает - отключить плагин auth_socket.

Ответ 3

Попробуйте это, у меня получилось!

sudo mysql -u root -p

Внутри терминала введите:

CREATE USER 'admin'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'localhost' WITH GRANT OPTION;

Затем в MySQL Workbench отредактируйте соединение и измените имя root на admin.

Ответ 4

В системах Ubuntu, работающих под управлением MySQL 5.7 (и более поздних версий), пользователь root MySQL настроен на аутентификацию с использованием плагина auth_socket по умолчанию, а не с паролем. Это обеспечивает большую безопасность и удобство использования во многих случаях, но также может усложнить ситуацию, когда вам нужно разрешить внешней программе (например, phpMyAdmin) доступ к пользователю.

Если вы предпочитаете использовать пароль при подключении к MySQL от имени пользователя root, вам необходимо переключить метод аутентификации с auth_socket на mysql_native_password. источник

Откройте приглашение MySQL из вашего терминала:

$ sudo mysql

Затем проверьте, какой метод аутентификации каждая из ваших учетных записей пользователей MySQL использует, с помощью следующей команды:

mysql > SELECT user,authentication_string,plugin,host FROM mysql.user;

Вы увидите, что пользователь root действительно аутентифицируется с помощью плагина auth_socket. Чтобы настроить учетную запись root для аутентификации с помощью пароля, выполните следующую команду ALTER USER. Обязательно смените пароль на надежный пароль по вашему выбору:

mysql > ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

Затем запустите FLUSH PRIVILEGES который скажет серверу перезагрузить таблицы грантов и применить ваши новые изменения:

mysql > FLUSH PRIVILEGES;

Снова проверьте методы аутентификации, используемые каждым из ваших пользователей, чтобы убедиться, что root больше не аутентифицируется с помощью плагина auth_socket:

mysql > SELECT user,authentication_string,plugin,host FROM mysql.user;

В выводе вы увидите, что пользователь root MySQL теперь аутентифицируется с помощью пароля.

Ответ 5

Не знаю, как это произошло, но у меня была такая же проблема. Мне пришлось reset мой пароль root: http://www.jovicailic.org/2012/04/reset-forgotten-mysql-root-password-under-windows/

Но после того, как мои базы данных, которые у меня были ранее, были удалены или новое соединение не подключалось к ним. В любом случае я не мог получить к ним доступ через верстак. Но я мог бы использовать MySQL снова, что было для меня победой

Ответ 6

Вы должны установить сервер mysql, который размещается в вашем локальном хосте. Затем установите верстак. Тем не менее, если вы получаете сообщение об ошибке GOTO:

(В MAC:)

Настройки системы > Mysql (будет отображаться внизу, иначе сервер не будет установлен на вашем компьютере).

Проверьте состояние сервера и запустите сервер Mysql.

Попробуйте подключиться к localhost с номером порта по умолчанию.

Ответ 7

Я только что столкнулся с этой проблемой сейчас, и с некоторыми попытками я выяснил, что посещающие сервисы >> выбирают сервис MySQLxx, затем щелкают правой кнопкой мыши и запускают, что решило мою проблему, и все работает без необходимости потери данных.

Ответ 8

Попробуйте это,

Надеюсь, это поможет вам.

  • Удалил все, в том числе установщик, из собственной опции удаления.
  • Не удалось установить все программы, которые каким-либо образом были связаны с mysql
  • Удалена папка mysql из C:\Program Files
  • Удалена папка mysql из C:\ProgramData​​li >
  • Очистил мой реестр, а затем снова установил программу, но все напрасно.

Как повторить: Вот что я сделал:

  • Установил его с помощью mysql-installer-web-community-5.6.23.0.msi
  • В моих целях я выбрал "Custom" для установки с серверами MySQL. 5.6.22 - Разъемы X64 и MySQL → Коннектор ODBC/5.3.4 - 64
  • Далее → Выполнить - (готов к настройке) → Далее
  • Тип конфигурации: машина разработки, все значения по умолчанию (TCP/IP, порт: 3306, открытый брандмауэр).
  • Набрано в MySQL Root Password
  • Учетные записи пользователей MySQL → Добавить пользователя (имя пользователя, пароль, ОК) → Далее
  • Настройте MySQL Server как службу Windows (CHECKED)
  • Имя службы Windows: MySQL56 (по умолчанию)
  • Запустите службу MySQL при запуске системы
  • ЭТО КРИСТАЛЛИЧЕСКАЯ (ОШИБКА ЗДЕСЬ): Запустите службу как... Стандартная учетная запись системы (ПРОВЕРЕНА - но она будет проигнорирована и это будет ошибкой)
  • Далее → Выполнение, установка зависает на стартовом сервере, так что подождите некоторое время, чтобы отключиться (или нет, ваш выбор). Когда Dialog (может быть покрыт другими окнами), всплывающее окно с сообщением "Конфигурация сервера MySQL занимает больше времени, чем ожидалось...", нажмите "ОК" (чтобы подождать дольше)

Рекомендуемое исправление: 12. Между тем перейдите в меню "Пуск" → "Панель управления" → "Администрирование" → "Службы" → найдите MySQL56, щелкните правой кнопкой мыши по нему → Свойства → выберите вкладку "Вход в систему" ​​и "ЗДЕСЬ" - "BUG" → Хотя была выбрана локальная системная учетная запись, Эта учетная запись: была выбрана сетевая служба (с некоторым паролем) → Выберите "Вход в систему": "Локальная системная учетная запись", "Разрешить службе" взаимодействовать с рабочим столом → "Применить" → "Вперед" на вкладке "Общие"

  1. На общей вкладке нажмите кнопку "Пуск" , чтобы начать сервис, и вот оно! Служба запускается! Нажмите OK, чтобы закрыть диалоговое окно свойств MySQL56. Закрыть диалоговое окно служб. Закрыть Административные инструменты. Закройте панель управления.

  2. И к тому времени (когда вы закрывали эти диалоги), когда вы смотрите на Диалог установщика MySQl, все шаги завершены и отмечены: Запуск сервера, Применение безопасности... Создание учетных записей пользователей. Обновление ссылки меню "Пуск"

  3. Подтвердить с завершением → Далее → Готово Это он, счастливый MySQL-ing:)

Источник: https://bugs.mysql.com/bug.php?id=76476

Ответ 9

Я знаю, что это старо, но я столкнулся с этой проблемой, но нашел исправление для этого, которое сработало для меня:

  • перейдите в раздел "Услуги".
  • в разделе "Имя" найдите свое имя пользователя
  • щелкните правой кнопкой мыши и выберите "Пуск"

Перейдите в свое рабочее место MySQL и выберите "Запуск/завершение работы" в разделе "INSTANCE", и вам должно быть хорошо идти. Надеюсь, это поможет любому, кто сталкивается с этим.

Ответ 10

Перейдите на панель поиска в Windows и найдите службы. Запустите службы и найдите MySQLxx (xx зависит от вашей версии MySQL) в длинном списке служб. Щелкните правой кнопкой мыши на MySQLxx и нажмите Пуск. MySQL теперь должен работать нормально.

Ответ 11

Я не знаю, с чем это связано, но у меня та же проблема: "mysql -u root -p" всегда будет запрещать доступ, за исключением случаев, когда он запускается пользователем root или с помощью sudo, так что это просто лишает возможности Войдите в систему как пользователь root от phpMyAdmin, единственный обходной путь - создать другого пользователя с полными привилегиями для всех баз данных, поэтому зачем иметь пользователя root?, поэтому это должно быть ошибкой, и это должно быть исправлено MySQL.

Мои тесты были выполнены с использованием Ubuntu 18.04 и Fedora 29, оба показали ту же проблему.

Ответ 12

это может произойти из-за проблем с версией. У меня была та же проблема, и я понизил свой рабочий стол mySQL и попробовал это. это сработало.

Ответ 13

После просмотра стольких ответов на решения, вот мое резюме, которое работает для меня. Сначала я установил только верстак 6.2, но при подключении к localhost это не удалось.

Шаг 1: проверьте, установлен ли у вас сервер MySQL. Если нет, загрузите и установите.

Шаг 2: Конфигурация сервера MySQL рекомендует надежный пароль, игнорируйте его, выберите старый пароль.

шаг 3: запустить сервер MySQL (система Windows: services--> MySQL → запуск)

шаг 4: откройте верстак и создайте локальное соединение.

Ответ 14

  1. sudo mysql -u root -p
  2. mysql> ALTER USER 'root' @'localhost' ИДЕНТИФИЦИРОВАНО С mysql_native_password BY 'abc @123';
  3. sudo mysql-workbench

Ответ 15

Я столкнулся с той же проблемой в Windows.

  1. Перейти к сервисам в диспетчере задач
  2. запустить службу под названием MySQL80
  3. Перезапустите верстак

Ответ 16

я изменил пароль по умолчанию с "" пробел на пробел

Ответ 17

Вот мое решение:

  • нажмите Ctrl + Alt + Del
  • Диспетчер задач
  • Выберите вкладку "Службы"
  • Под именем, щелкните правой кнопкой мыши на "MySql" и выберите "Пуск"