Не удалось подключиться к 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, но ошибка все еще не решена.
Ответы
Ответ 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:\ProgramDatali >
- Очистил мой реестр, а затем снова установил программу, но все напрасно.
Как повторить:
Вот что я сделал:
- Установил его с помощью 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" → Хотя была выбрана локальная системная учетная запись, Эта учетная запись: была выбрана сетевая служба (с некоторым паролем) → Выберите "Вход в систему": "Локальная системная учетная запись", "Разрешить службе" взаимодействовать с рабочим столом → "Применить" → "Вперед" на вкладке "Общие"
-
На общей вкладке нажмите кнопку "Пуск" , чтобы начать сервис, и вот оно! Служба запускается! Нажмите OK, чтобы закрыть диалоговое окно свойств MySQL56. Закрыть диалоговое окно служб. Закрыть Административные инструменты. Закройте панель управления.
-
И к тому времени (когда вы закрывали эти диалоги), когда вы смотрите на Диалог установщика MySQl, все шаги завершены и отмечены: Запуск сервера, Применение безопасности... Создание учетных записей пользователей. Обновление ссылки меню "Пуск"
-
Подтвердить с завершением → Далее → Готово
Это он, счастливый 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
- sudo mysql -u root -p
- mysql> ALTER USER 'root' @'localhost' ИДЕНТИФИЦИРОВАНО С mysql_native_password BY 'abc @123';
- sudo mysql-workbench
Ответ 15
Я столкнулся с той же проблемой в Windows.
- Перейти к сервисам в диспетчере задач
- запустить службу под названием MySQL80
- Перезапустите верстак
Ответ 16
я изменил пароль по умолчанию с "" пробел на пробел
Ответ 17
Вот мое решение:
- нажмите Ctrl + Alt + Del
- Диспетчер задач
- Выберите вкладку "Службы"
- Под именем, щелкните правой кнопкой мыши на "MySql" и выберите "Пуск"