Я следовал инструкциям для варианта 2 в вопросе ОШИБКА 1698 (28000): доступ запрещен для пользователя 'root' @ 'localhost' и использовал superuser1 в качестве моего 'YOUR_SYSTEM_USER' (см. Код ниже).
$ sudo mysql -u root
mysql> USE mysql;
mysql> CREATE USER 'superuser1'@'localhost' IDENTIFIED BY '';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'superuser1'@'localhost';
mysql> UPDATE user SET plugin='auth_socket' WHERE User='superuser1';
mysql> FLUSH PRIVILEGES;
mysql> exit;
$ service mysql restart
Теперь я получаю ОШИБКУ 1698 (28000): доступ запрещен для пользователя 'superuser1' @ 'localhost' при попытке войти в mysql, как предлагается в этом ответе, эта ошибка возникает, даже если я добавляю sudoк команде mysql, как показано ниже
hms011@hms011-OptiPlex-9010-AIO:~$ sudo mysql -u superuser1
[sudo] password for hms011:
ERROR 1698 (28000): Access denied for user 'superuser1'@'localhost'
hms011@hms011-OptiPlex-9010-AIO:~$
Я использую версию сервера: 5.7.23-0ubuntu0.18.04.1 (Ubuntu) в Linux Mint 19 на новой установке на рабочем столе.Будучи новым пользователем mysql, я несколько осторожен при создании пользователей, пока не стану более знакомым.Должен ли я изменить плагин для моего суперпользователя1 на mysql_native_password?Решение, за которым я следовал, предлагало не использовать пароль (т. Е. '') Для нового пользователя - повлияет ли это на изменение плагина?Я действительно посмотрел на вопрос Ошибка MySQL 1045 (28000): доступ запрещен для пользователя 'bill' @ 'localhost' (с использованием пароля: ДА) и большинства других подобных вопросов, но я не смог увидеть, как ни одно из предложенийтам можно было бы решить мою проблему - предлагаемое решение моей первоначальной проблемы включало в себя использование FLUSH PRIVILEGES, за которым я следовал (как я уже говорил в самом начале).Моя первоначальная проблема (которая остается) была ОШИБКА 1698 (28000): доступ запрещен для пользователя 'root' @ 'localhost' В отличие от некоторых других пользователей, он не был решен с использованием рекомендованного варианта 2 в этой теме.Поэтому я поднял свою собственную проблему, возможно, я был слишком лаконичен в своем первоначальном описании, поэтому теперь включил код для решения варианта 2, упомянутый выше, вместе с возникающей ошибкой при входе в систему.
В отсутствие какой-либо помощиЯ попытался:
hms011@hms011-OptiPlex-9010-AIO:~$ sudo mysql -u root
[sudo] password for hms011:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.7.23-0ubuntu0.18.04.1 (Ubuntu)
Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> grant all privileges on *.* to 'superuser1'@'localhost' identified by 'toFFee8_&cHeese' with grant option;
Query OK, 0 rows affected, 1 warning (0.01 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> exit;
Bye
hms011@hms011-OptiPlex-9010-AIO:~$ mysql -u superuser -p
Enter password: {password was entered}
ERROR 1045 (28000): Access denied for user 'superuser'@'localhost' (using password: YES)
hms011@hms011-OptiPlex-9010-AIO:~$ sudo mysql -u superuser -p
Enter password: {password was entered}
ERROR 1045 (28000): Access denied for user 'superuser'@'localhost' (using password: YES)
Так что теперь я получаю ОШИБКУ 1045 (28000), но я не знаю, почему это произошло (или другие ошибки).Наконец, я вернулся к «root» и снова предоставил все привилегии суперпользователю1. Теперь я могу войти в систему, но без пароля, который был установлен.Хотя это кажется удовлетворительным, я бы предпочел узнать, почему это так, чтобы быть уверенным в том, что я сделал
Решено
В конце концов вся проблема, кажется, решенапосле
' auth_socket 'был существующим плагином для root, но для других пользователей Linux это может быть' unix_socket ';и - Установка пароля для «root», который НЕ включает «&»