На этот вопрос уже есть ответ здесь:
После установки mysql с использованием sudo apt- get install mysql-server
, мне не задавали вопросов, чтобы ввести конкретный пароль для учетной записи root. Логически это означает, что пароль пустой. Это подтверждается, когда я смотрю в /var/log/mysql/error.log, где я могу найти эту информацию =>
2019-04-28T20:31:35.761063Z 1 [Warning] root@localhost is created with an empty password ! Please consider switching off the --initialize-insecure option.
Но теперь, когда я подключаюсь к PHPAdmin с корневым логином и пустым паролем, у меня появляется сообщение :
#1698 - Access denied for user 'root'@'localhost'
с некоторыми дополнительными сведениями:
mysqli_real_connect(): (HY000/1045): Access denied for user 'phpmyadmin'@'localhost' (using password: YES)
Как решить эту проблему?
Вы можете изменить пароль и установить новый пароль root, выполнив следующее:
sudo /usr/sbin/mysqld --skip-grant-tables --skip-networking &
mysql -u root
FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
опция skip-grant-tables позволяет любому подключаться без пароля и со всеми привилегиями
В Ubuntu 18.04 и mysql-5.7 изменился метод по умолчанию для входа в систему root для mysql, теперь вы должны быть суперпользователем (либо выполнив sudo mysql -u root
, либо сначала вызвав корневую оболочку sudo bash
). Поскольку вы уже аутентифицированы как пользователь root, пароль больше не требуется.
См. Также этот вопрос и ответы на него.