Эта головоломка состоит из нескольких частей
Чтобы изменить пароль
Войдите в систему на root из CLI:
sudo mysql -u root -p
Тогда
ALTER USER 'root'@'localhost' IDENTIFIED BY '<New-Password-Here>';
Чтобы действительно заставить вещи работать
От phpmyadmin. net
Из-за изменений в MySQL метод аутентификации, PHP версии до 7.4 не могут аутентифицироваться для MySQL 8.0 бла бла-бла-бла https://bugs.php.net/bug.php?id=76243.
Существует обходной путь, который заключается в том, чтобы настроить учетную запись пользователя на использование пароля текущего стиля, используя метод sh mysql_native_password. Это прискорбное отсутствие координации привело к тому, что несовместимость повлияла на все PHP приложения, а не только на phpMyAdmin.
Итак
UPDATE user SET plugin="mysql_native_password" WHERE user='root';
Чтобы действительно получить действительно Все работает ... Действительно
MySQL Изменили свою модель безопасности, а для root теперь требуется sudo . Это нормально для CLI, но это означает, что PhpMyAdmin и ВСЕ другие клиенты не смогут использовать root учетные данные
Лучшее решение - создать нового пользователя для PhpMyAdmin ( или используйте существующий, если он был создан во время установки), и предоставьте ему необходимые привилегии.
CREATE USER 'phpmyadmin'@'localhost' IDENTIFIED BY '<New-Password-Here>';
GRANT ALL PRIVILEGES ON *.* TO 'phpmyadmin'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
Используйте этого пользователя везде, где вы хотите "root" доступ.
Также убедитесь, что вы используете последнюю версию PHP. Вот мой полный скрипт установки
PHP
sudo apt install -y php7.4
sudo apt install php7.4-curl php7.4-gd php7.4-json php7.4-mbstring php7.4-xml
APACHE
sudo apt install apache2 libapache2-mod-php7.4
MYSQL
sudo apt install mysql-server php7.4-mysql
sudo mysql_secure_installation
PHPMYADMIN
sudo apt install phpmyadmin