Я запускаю Ubuntu 18.04, и я недавно установил MySQL. Я еще на самом деле никогда не использовал его все же. Насколько я помню, я никогда не устанавливал пароля ни для какого пользователя. (Если бы я сделал, я знаю, каково это было бы.)
Сегодня я установил phpMyAdmin и нашел, что не мог войти в систему для укоренения через phpMyAdmin. Я пытался войти в систему MySQL непосредственно через терминал без пароля:
mysql -u root
И с паролем, который я установил бы, если я забыл:
mysql -u root -p
Но оба из них возвратились
ERROR 1698 (28000): Access denied for user 'root'@'localhost'
Я попробовал после этого руководства, я остановил процесс демона MySQL, я затем запустил mysqld процесс демона с помощью --skip-grant-tables
опция. Затем при выполнении этой команды для входа в систему без пароля:
mysql -u root
Вместо того, чтобы прибыть в mysql>
подсказка, я сталкивался со следующей ошибкой:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket
'/var/run/mysqld/mysqld.sock' (2)
Я пытался удалить использование MySQL:
sudo apt-get --purge remove mysql-server mysql-common mysql-client
И затем я пытался переустановить MySQL с помощью этой команды:
sudo apt-get install mysql-server mysql-common mysql-client
И затем попробованный для установки пароля как это:
mysqladmin -u root password my-new-password
Все же я был еще раз озадачен с сообщением об ошибке:
mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost''
После использования sudo
(согласно ответу vidarlo) я смог получить доступ к своим базам данных, и мне удалось изменить мой пароль с помощью этого:
mysql> update user set authentication_string=password("Z4hVdwn9qZ")
where user='root';
Query OK, 1 row affected, 1 warning (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 1
Но phpMyAdmin все еще не войдет в систему и возвращает ошибку
#1698 - Access denied for user 'root'@'localhost'
Попробовать
sudo mysql -u root
MariaDB использует аутентификацию сокета Unix, что означает, что Вы аутентифицируетесь как пользователь, начинающий mysql клиент.
Можно читать больше об этом в документации MariaDB.