Ошибка phpmyadmin 1064 (42000) во время установки
Я весьма озадачен ошибкой при установке phpmyadmin на сервер Debian с уже установленным и настроенным MySQL. Я уже пытался удалить последние неудачные установки phpmyadmin, но я не могу его установить.
Я также уже искал общие вопросы, как попытка исправить файлы phpmyadmin как https://serverfault.com/questions/341116/setting-up-phpmyadmin-got-a-mysql-syntax-error но каждый timestamp
вызов правильный без значений (timestamp(value)
похоже не прав).
Если бы кто-нибудь мог мне помочь, я был бы так благодарен!
Ошибка говорит:
An error occurred while installing the database:
│
│ mysql said: ERROR 1064 (42000) at line 1: You have an error in your SQL
│ syntax; check the manual that corresponds to your MySQL server version
│ for the right syntax to use near 'IDENTIFIED BY
│ 'hereismypassword'' at line 1 . Your options are:
│ * abort - Causes the operation to fail; you will need to downgrade,
│ reinstall, reconfigure this package, or otherwise manually intervene
│ to continue using it. This will usually also impact your ability to
│ install other packages until the installation failure is resolved.
│ * retry - Prompts once more with all the configuration questions
│ (including ones you may have missed due to the debconf priority
│ setting) and makes another attempt at performing the operation.
│ * retry (skip questions) - Immediately attempts the operation again,
│
│ <Ok>
1 ответ
Хорошо, я решил свою проблему, выполнив следующие шаги:
Удаление полностью phpmyadmin и mysql:
sudo remove phpmyadmin
+sudo remove mysql
sudo purge phpmyadmin
+sudo purge mysql
)Обновление dist:
sudo apt-get dist-upgrade
Переустановка всего (phpmyadmin + mysql)
Позже у меня возникли другие проблемы, связанные с пользователями и паролями в phpmyadmin, но я решил их с помощью этого запроса:
mysql -u root mysql
UPDATE user SET Password=PASSWORD('YOURNEWPASSWORD') WHERE User='root';
FLUSH PRIVILEGES;
exit;
Источник: Невозможно установить корневой пароль MySQL на ноль
Если вы используете MySQL 8 или обновляетесь до него, подключаемый модуль аутентификации по умолчанию - caching_sha2_password
Отредактируйте /etc/mysql/my.cnf или /etc/mysql/mysql.conf.d/mysqld.cnf
Добавьте следующую строку в [mysqld]
default-authentication-plugin=mysql_native_password
Затем перезапустите службу mysql и подключитесь к MySQL.
service mysql restart
mysql -u root -p
Затем выполните следующие команды и замените "пароль" на "свой пароль root".
ALTER USER user IDENTIFIED WITH caching_sha2_password BY 'password';
FLUSH PRIVILEGES;
Источник dev.mysql.com
Я действительно боролся с этой проблемой при настройке сервера в Digital Ocean. Мне нужен был сервер для размещения приложения Laravel. В основном я должен был настроить мой сервер путем установки Nginx с помощью этого учебник, то я установил MYSQL версии 8.0.22, используя этот учебник (в основном последняя доступная версия - что обычно приводит к этой ошибке), то я установил PHP7.4, используя этот учебник по что также потребовало от меня проверить статью DigitalOcean для настройки процессора php для Nginx, используя тот же учебник, который я использовал для установки Nginx.
На этом этапе я хотел установить phpMyAdmin, и он не прошел с той же ошибкой, я прочитал все статьи, которые смог найти на Digital Ocean, Stackru и других форумах, и ни одно решение не помогло. Я узнал, что могу загрузить phpMyAdmin версии 5.0.4 или выше (в основном последнюю версию) с официального сайта, поскольку она будет более совместима с версией MYSQL 8.0.22. Я точно следовал этому руководству, чтобы установить phpMyAdmin вручную, а не автоматически, и все сработало отлично! Мне удалось открыть phpMyAdmin в браузере и даже войти в систему, используя root и пароль. Я создал другого пользователя, как указано в руководстве, и также смог войти в систему, используя этого нового пользователя.
Очень надеюсь, что это поможет кому-то с той же проблемой. В заключение воспользуйтесь этой статьей для установки phpMyAdmin вручную: https://www.digitalocean.com/community/questions/how-to-install-manually-phpmyadmin-on-ubuntu