Невозможно подключиться через MySQL Workbench к localhost в Ubuntu 16.04 (без пароля root)

Сайт Oracle предполагает, что он работает только 15 и 14. http://dev.mysql.com/downloads/workbench/

Кроме того, две из моих машин Ubuntu 16.04 не работают. Кажется, не удается подключиться (Доступ запрещен ошибки для root)

Picture

Он устанавливается нормально. Открывается нормально. Но он не будет подключаться к localhost.

У кого-нибудь есть удача?

13
задан 14 June 2016 в 22:54

8 ответов

MySQL 5.7 и не поддерживает соединение как "корень" в mysql-workbench, таким образом, необходимо создать обычного пользователя и подключение через это.

sudo mysql -u root -p

Создают пользователя, названного "администратором", и используют это для соединения в mysql-workbench.

CREATE USER 'admin'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'localhost' WITH GRANT OPTION;
16
ответ дан 15 June 2016 в 08:54
  • 1
    Огромное спасибо за справку, был, точно был, я искал – FeelAndCoffee 31 October 2017 в 14:03

Хорошо работает для меня, и я не сделал ничего специального. Установленный mysql-server-5.7 и инструментальные средства и из командной строки и настроенный пользователь с паролем и настроенный нормальные полномочия базы данных (также с нормальным методом).

enter image description here

И с базой данных и таблицей:

enter image description here

2
ответ дан 15 June 2016 в 08:54
  • 1
    Прекрасный! Я буду использовать этого: rename -n 's/(?<![.'\''])\b\w*/\u[110]amp;/g' * Спасибо за Вашу справку! – Alan 31 October 2017 в 15:00

Проблема, вероятно, должна снабдить сокетом аутентификацию, включаемую для пользователя root по умолчанию, когда никакой пароль не установлен, во время обновления 16,04. Этот важный протест документируется в 16.04 информация о версии :

поведение Пароля, когда пароль root MySQL пуст, изменилось. Упаковка теперь включает аутентификацию сокета, когда пароль root MySQL пуст. Это означает, что некорневой пользователь не может войти в систему как пользователь root MySQL с пустым паролем.

По любой причине, MySQL Workbench, который шел 16.04, не работает из поля с сервером MySQL, по крайней мере, для меня. Я пытался использовать "Локальный Сокет/Канал" для соединения различными способами, но напрасно.

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

sudo mysql -u root

Когда-то вошел в систему:

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

, который вернется назад собственному компоненту (старое значение по умолчанию) аутентификация по паролю. При попытке некоторого другого метода для устранения проблемы, Вы захотите удостовериться, что "сменное" поле в mysql.user установлено на "auth_token", который может потребовать, чтобы использование mysqld_safe вошло в систему MySQL в конечном счете, Вы были tinketing с вещами, как я сделал.

Кредит к сообщение в блоге Miguel Nieto для этого решения.

24
ответ дан 15 June 2016 в 08:54
  • 1
    До сих пор это, кажется, решило мою проблему, спасибо! Очень интересный, походит на ошибку, которая должна заботиться о imo. – Simon 8 November 2017 в 13:53

Сервер MySQL на хосте AWS под управлением Ubuntu 16.04; mysql-инструментальные-средства на ноутбуке Ubuntu 16.04; использование соединение KeyPair.

After, настраивающий Тестовое соединение дб, работал. Но фактическая связь всегда прерывалась с сообщением как то, отправленное Jonathan Leaders. Проверенный журнал в ~/.mysql/workbench/log и найденный некоторыми "разрешение, отклоненное" сообщения.

Теперь я могу заставить mysql-инструментальные-средства работать с: sudo mysql-workbench

И позже я могу пойти и chmod каталоги, бывшие нужные в разрешении.

0
ответ дан 15 June 2016 в 08:54
  • 1
    Привет Terdon: Я просто протестировал rename -n 's/\b(.+?)\b/\u$1/g; s/(.+)\.(.)/$1\.\l$2/' *, и это почти работает, но это также использует для своей выгоды притяжательный ' s Alan's. Похож на SteelDriver, имеет nswer ниже с rename -n 's/(?<![.'\''])\b\w*/\u[112]amp;/g' * Спасибо за Вашу справку! – Alan 31 October 2017 в 14:59

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

выбор mysql база данных

1:use mysql;

2:UPDATE пользователь установил плагин ='mysql_native_password' где Пользователь ='root';

3: полномочия сброса;

4:exit;

~ $ sudo сервис mysql перезапуск

0
ответ дан 29 September 2019 в 15:56

Создайте учетную запись пользователя с соответствующими административными привилегиями, которые могут соединиться через mysql инструментальные средства с помощью auth_socket плагина. Обратите внимание, что это не работает на корневые соединения с mysql сервером.

Войдите в систему к mysql от терминального сеанса:

$sudo mysql

Если Вы можете сделать это затем, auth_socket плагин включен, и корневая учетная запись аутентифицирует использование этого плагина. Обратите внимание, что это - установка по умолчанию при установке mysql на человечности, запустив безопасный скрипт установки.

Сначала создайте mysql пользователя для своей учетной записи 'valerie':

mysql> CREATE USER 'valerie'@'localhost' IDENTIFIED WITH auth_socket;

Включите административные привилегии для учетной записи:

mysql> GRANT ALL PRIVILEGES ON *.* TO 'valerie'@'localhost' WITH GRANT OPTION;

Выйдите из оболочки:

mysql> exit

Затем в mysql инструментальных средствах:

  1. Создайте новое соединение
  2. Выберите метод соединения как Локальный Сокет/Канал
  3. Установите Путь Сокета/Канала к:/var/run/mysqld/mysqld.sock (отмечают, что это - путь для Debian / система Ubuntu и изменения для других разновидностей Linux),
  4. Установите имя пользователя ('valerie' в этом примере)

Необходимо смочь затем соединиться с mysql сервером с этим соединением.

1
ответ дан 23 November 2019 в 03:10

Этим вопросом могло бы быть два года, но моя работа с mysql-инструментальными-средствами сегодня вечером, кажется, дала мне ответ на него.

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

Я узнал это путем выполнения mysql -u root и как пользователь root и как типичный пользователь.

Это не работало бы при типичном пользователе.

Таким образом, мой следующий вопрос был - какой пользователь делает mysql-инструментальные-средства, выполненные как. Оказывается, что это работает как типичный пользователь по умолчанию. Чтобы заставить это работать как пользователь root, это должно быть выполнено от корня. Таким образом, я вошел в пользователя root CLI и тип 'mysql-инструментальные-средства'.

Я затем должен был войти в настройки для пользователя root как показано здесь. Расположение файла допустимо для установки человечности 18.04.

Root connection settings mysql-workbench.

Если то местоположение разъема будет недопустимо затем, то необходимо будет войти в mysql CLI от корня или sudo и выполнить следующую команду.

MySQL CLI command to find the socket.

После того, как у Вас есть корректный тест настроек соединение. Это должно быть успешно, и Вы готовы пойти.

3
ответ дан 23 November 2019 в 03:10

Если вы получаете эту ошибку в Workbench, выполните следующие действия.

Сначала просто войдите в систему с вашим текущим паролем:

sudo mysql -u root -p

Затем измените свой пароль, потому что использование пароля с низкой надежностью иногда приводит к ошибке.

ALTER USER 'root'@'localhost' IDENTIFIED BY 'new-strong-password';

FLUSH PRIVILEGES;

Затем просто выйдите и снова войдите в систему с новым паролем:

quit

sudo mysql -u root -p

После успешного входа в систему введите команду:

use mysql;

Должно появиться сообщение типа «База данных изменена. 'затем введите:

UPDATE user SET plugin='mysql_native_password' WHERE User='root';

После этого введите:

UPDATE mysql.user set authentication_string=PASSWORD('new-strong-password') where user='root';

Затем введите:

FLUSH PRIVILEGES;

Затем просто выйдите:

quit

Теперь попробуйте войти в систему с новым паролем на РАБОЧЕМ МЕСТЕ. Надеюсь, это сработает. Спасибо.

2
ответ дан 17 April 2020 в 16:52

Другие вопросы по тегам:

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