Я только что установил MariaDB в системе RHEL, и я впервые использую MariaDB. Я могу запустить / остановить службу только с помощью следующих команд:
sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service
sudo systemctl stop mariadb.service
Теперь, когда я пытаюсь использовать следующее:
mysql --user=root
Мне выдается следующая ошибка:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
Будучи новой установкой, я ожидал, что пароль будет пустым, и я удалил и переустановил, надеясь, что это может решить проблему, но, очевидно, это не так.
Я читал об использовании --skip-grant-tables для сброса пароля для root, но мне не удалось запустить службу с этой опцией, так как мне нужно использовать systemctl. Я не уверен, что, возможно, я помещаю опцию в неправильное место в команде, но я пробовал несколько методов безрезультатно.
Никакие другие команды (из /etc/init.d) вообще не работают для запуска этой службы.
Если кто-нибудь может помочь мне заставить работать --skip-grant-tables или выяснить, как каким-то образом сбросить пароль root для mariadb, или как-то настроить другого пользователя со всеми привилегиями, я был бы очень признателен. Спасибо.
Попробуйте бежать mysql_secure_installation - improve MySQL installation security
, как сказал Майкл, похоже, что у вас уже есть mysql
базу данных с чем-то другим, кроме новой установки.
Вы также можете попробовать остановить mariadb.service
удалите базу данных mysql, а затем попробуйте дать ей еще одну попытку с mysql_install_db - initialize MySQL data directory
.
Попробуйте запустить клиента как root. Вероятно, что по умолчанию используется unix socket auth для root, который проверяет, является ли UID процесса требуемым UID для пользователя (в данном случае 0), и разрешает / запрещает в зависимости от этого.
Ты пробовала: mysql --user=root -p
а потом при запросе пароля просто нажмите клавишу ввода?
Извините, это очевидно, и вы подумали, что об этом стоит упомянуть на всякий случай.