MySQL 5.7 изменил безопасную модель: теперь MySQL root
для входа в систему требуется sudo
.
Т.е. phpMyAdmin будет нет способный использовать root
полномочия.
Самый простой, безопасный и постоянный решением будет создание нового пользователя и предоставление необходимых привилегий.
1. Подключитесь к mysql
sudo mysql --user=root mysql
2. Создайте реальный пароль
В приведенных ниже шагах я буду использовать <please_replace_this>
в качестве образца пароля. ПОЖАЛУЙСТА, ЗАМЕНИТЕ ЕГО СВОИМ ПАРОЛЕМ! НЕ ИСПОЛЬЗУЙТЕ <please_replace_this>
В КАЧЕСТВЕ ПАРОЛЯ!
3. Создайте пользователя для phpMyAdmin
Выполните следующие команды (замена <please_replace_this>
по желаемому паролю):
CREATE USER 'phpmyadmin'@'localhost' IDENTIFIED BY '<please_replace_this>';GRANT ALL PRIVILEGES ON *.* TO 'phpmyadmin'@'localhost' WITH GRANT OPTION;FLUSH PRIVILEGES;
Если ваш phpMyAdmin подключается к localhost, этого должно быть достаточно.
4. Необязательно и небезопасно: разрешить удаленные подключения.
Помнить: разрешить удаленному пользователю иметь все привилегии - это проблема безопасности, и это нет требуется в большинстве случаев.
Имея это в виду, если вы хотите, чтобы этот пользователь имел те же привилегии при удаленных подключениях, дополнительно запуск (замена <please_replace_this>
по паролю, использованному на шаге #2):
CREATE USER 'phpmyadmin'@'%' IDENTIFIED BY '<please_replace_this>';GRANT ALL PRIVILEGES ON *.* TO 'phpmyadmin'@'%' WITH GRANT OPTION;FLUSH PRIVILEGES;
5. Обновите phpMyAdmin
С помощью sudo
, редактировать /etc/dbconfig-common/phpmyadmin.conf
файл, обновляющий значения пользователя/пароля в следующих разделах (замена <please_replace_this>
по паролю, использованному на шаге #2):
# dbc_dbuser: database user# the name of the user who we will use to connect to the database.dbc_dbuser='phpmyadmin'# dbc_dbpass: database user password# the password to use with the above username when connecting# to a database, if one is requireddbc_dbpass='<please_replace_this>'