Вопрос или проблема
Хотя я НИКОГДА не испытывал проблем с этим на нескольких машинах с Debian 8 и даже на Windows, сейчас я просто не могу установить рабочую версию MariaDB/MySQL на своей свежей установке Debian 9 Stretch.
При первой установке я не смог войти в аккаунт root mysql. С тех пор я пробовал многое.
Мои Попытки сброса пароля включали, среди прочего, следующее:
https://dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html
https://www.howtoforge.com/setting-changing-resetting-mysql-root-passwords
https://help.ubuntu.com/community/MysqlPasswordReset
https://www.digitalocean.com/community/tutorials/how-to-reset-your-mysql-or-mariadb-root-password
mysql как исправить Access denied for user ‘root’@’localhost’
Поскольку это всё не сработало, я сдался и начал несколько попыток полностью переустановить сначала только пакеты mariadb/mysql, затем все пакеты, связанные с LaMp.
Я, следовательно, сначала удалил все пакеты
sudo apt-get remove --purge *mariadb* *mysql* *php* apache2 phpmyadmin
sudo apt-get autoremove
sudo apt-get clean
(это самый жесткий метод, который я выбрал)
А затем я следовал этим установочным учебникам
http://www.pcsystembetreuer.de/cms-online-designer/lamp-debian-9-stretch.html
http://www.itzgeek.com/how-tos/linux/debian/how-to-install-lamp-server-on-debian-9-stretch.html
https://linuxconfig.org/how-to-install-a-lamp-server-on-debian-9-stretch-linux
Снова, ничто из вышеупомянутого не сработало для меня.
Чтобы быть более конкретным: я не могу войти в аккаунт root mariadb, если я не являюсь пользователем root своей системы. Хотя в случае последнего я мог бы даже войти, если бы пароль, который я ввожу, был совершенно неправильным.
Я настроил пароль с помощью, например, mysql_secure_installation
как пользователь root. Если я пытаюсь выполнить эту команду как мой обычный пользователь, мне говорят, что я не предоставил правильный старый пароль для его изменения. Хотя старого пароля нет, так как я никогда не устанавливал никакого пароля и только что выполнил чистую установку mariadb.
Как бы я ни старался и не искал варианты решения схожих проблем, я не могу найти способ, который подходит мне, и сейчас я близок к безумию (следуя определению, что здравомыслие — это когда вы пытаетесь одно и то же снова и снова, ожидая разных результатов.).
Мне не нужны никакие “безопасные решения”, так как у меня нет баз данных, которые можно было бы удалить. Идеальным для меня был бы ЧИСТЫЙ установка, которая избавится от любых – видимо существующих – старых файлов конфигурации, хранящих таинственный пароль, который я не знаю. Или я просто делаю что-то совершенно неправильно. Просто не знаю, что.
Попробуйте удалить конфигурацию плагина следующим образом:
$ sudo mysql -u root
mysql> use mysql;
mysql> update user set plugin='' where User="root";
mysql> flush privileges;
Решение от: https://serverfault.com/questions/795290/admin-password-of-mariadb-doesnt-seem-to-work
По крайней мере в Jessie и Wheezy, пароль root для свежей установки MariaDB пустой. mysql -u root -p
, затем нажмите Enter.
Ответ или решение
Проблема установки и переустановки MariaDB/MySQL на Debian Stretch 9: подробное руководство
Дебют с новой установкой MariaDB или MySQL на Debian Stretch 9 может столкнуться с безумным количеством проблем, особенно если вы пытаетесь восстановить доступ к учетной записи root. Исходя из вашего описания, основная проблема заключается в неправильной аутентификации и неудачных попытках сброса пароля. Давайте подробно рассмотрим шаги, которые могут помочь справиться с этой ситуацией.
1. Полное удаление MariaDB/MySQL
Если вы хотите выполнить полностью чистую установку, необходимо удалить все существующие компоненты и конфигурации. Выполните следующие команды:
sudo apt-get remove --purge mariadb-* mysql-* php-* apache2 phpmyadmin
sudo apt-get autoremove
sudo apt-get clean
Эти команды удалят все пакеты, связанные с MariaDB и MySQL, а также дополнительно очистят систему от ненужных зависимостей.
2. Корректное удаление оставшихся файлов конфигурации
После удаления пакетов важно убедиться, что старые конфигурационные файлы удалены. Для этого выполните:
sudo rm -rf /etc/mysql /var/lib/mysql
Эти команды избавят вас от любых возможных следов старой конфигурации.
3. Установка MariaDB/MySQL
Теперь можно снова установить MariaDB или MySQL. Я рекомендую вам установить MariaDB, так как это более современный и поддерживаемый вариант:
sudo apt-get update
sudo apt-get install mariadb-server
4. Инициализация базы данных
После установки вам нужно будет инициализировать базу данных (это делать чаще всего не требуется, но на всякий случай):
sudo mysql_install_db
5. Запуск службы
Запустите службу MariaDB:
sudo systemctl start mariadb
6. Настройка безопасности
Теперь выполните команду настройки безопасности:
sudo mysql_secure_installation
При первой установке корневой пароль может быть пустым. Просто нажмите Enter, когда будет предложено ввести прежний пароль (или оставьте поле пустым). Ваша цель — следовать инструкциям, чтобы установить новый пароль root и настроить другие параметры безопасности.
7. Изменение плагина аутентификации
Если у вас все еще возникают проблемы с доступом, как вы упомянули, можно изменить плагин аутентификации для пользователя root:
- Запустите MariaDB с правами root:
sudo mysql -u root
- Это откроет интерфейс MariaDB. Затем выполните следующие команды:
USE mysql;
UPDATE user SET plugin='' WHERE User='root';
FLUSH PRIVILEGES;
Эти команды уберут любой плагин аутентификации, который может мешать доступу и установит обычный способ аутентификации.
8. Перезапуск службы
В некоторых случаях вам потребуется перезагрузить службу MariaDB, чтобы изменения вступили в силу:
sudo systemctl restart mariadb
Заключение
Ваша проблема, скорее всего, была связана с неправильной аутентификацией root и возможными остатками конфигураций после удаления пакетов. Придерживаясь приведенного выше терапевтического подхода, вы сможете установить MariaDB/MySQL на Debian Stretch 9 без серьезных хлопот.
Советуем также ознакомиться с официальной документацией MariaDB и MySQL для получения дополнительных рекомендаций и инструментов настройки, которые могут быть полезны в будущем. Если проблемы продолжаются, возможно, стоит рассмотреть установку новой версии Debian или миграцию на другой дистрибутив, где MariaDB/MySQL будут более стабильными.
Успехов в вашей работе с MariaDB/MySQL!