An error occurred while installing the database:
│
│ ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using
│ password: NO) .
Почему, черт возьми, он не запрашивает у меня пароль root во время установки phpmyadmin? Меня это просто сбивает с толку. Он не запрашивает пароль, пытается войти без пароля и, конечно же, получает отказ. Он только запрашивает у меня новый пароль для пользователя phpmyadmin.
Как я могу это решить? Я в недоумении. Это довольно свежая установка Ubuntu 16.04. У меня была установка MySQL, и я работаю некоторое время без проблем. Я могу войти через mysql -u root -p
без проблем.
Возвращаясь к этому вопросу, поскольку я считаю, что нашел ответ. Я использую mariadb, и, насколько я понимаю, вы можете войти в систему только как -u root, даже с паролем, когда вы запускаете mysql с разрешениями суперпользователя. Это имеет смысл, поскольку системные службы, такие как mariadb, запускаются от имени пользователя root. Поэтому попытка получить доступ к корневому пользователю mariadb из стандартной учетной записи не сработает.
Это несколько раз сбивало меня с толку, так как mysql в данном случае действует иначе, чем mariadb, и я привык к тому, как это делает mysql. Если ты бежишь
mysql -u root -p
и введите правильный пароль (используя mysql, а не mariadb), все будет работать. Похоже, mariadb добавил еще один уровень безопасности, требуя, чтобы вы не только знали пароль пользователя root mysql, но также имели права суперпользователя. Следовательно, вы должны сделать
sudo mysql -u root -p
в любое время, когда вам нужно получить доступ к базе данных как пользователь root. Я не проверял, применимо ли это только к доступу из командной строки, или если программы, работающие на уровне пользователя, также будут отклонены с соответствующими учетными данными - я подозреваю, что они будут. Это поощряет гораздо более безопасную практику создания пользователей с ограниченным объемом разрешений, которые могут получить доступ только к базам данных, к которым им нужен доступ.
Итак, к исходной точке: это могло быть ошибкой в phpmyadmin, поскольку установка через apt подразумевает права суперпользователя во время установки. Не уверен, в чем заключается конкретная проблема с phpmyadmin, но я знаю, почему возникает эта ошибка.
Я обошел это, временно изменив пароль root на пустой.
mysqladmin -u root -p'oldpassword' password ''