Я установил mysql через yum только сейчас, и OS fedora установила mariadb для меня. Я знаю, что mariadb - это новая ветвь mysql, но я не понимаю, почему она не просит меня установить пароль. Я пробовал 123456 и так далее, но я потерпел неудачу. Моя Fedora является новой, и это первый раз для установки mysql/mariadb. Что я должен сделать для этого?
Какой пароль по умолчанию для mariadb на Fedora?
Ответ 1
Из https://mariadb.com/kb/en/mysql_secure_installation/:
Чтобы войти в MariaDB для его защиты, нам понадобится текущий пароль для пользователя root. Если вы только что установили MariaDB, и вы еще не установили пароль root, пароль будет пустым, так что вы должен просто нажать здесь.
пароль будет пустым
Я думаю, что ваш ответ.
Ответ 2
У меня была та же проблема. Правда, пароль пуст, но даже при этом отображается сообщение об ошибке. Решение просто использует "sudo" так
$ sudo mysql
откроет инструмент mysql
Для обеспечения безопасности базы данных вы должны снова использовать sudo.
$ sudo mysql_secure_installation
Ответ 3
mariadb использует по умолчанию плагин UNIX_SOCKET для аутентификации пользователя root. https://mariadb.com/kb/en/mariadb/unix_socket-authentication-plugin/
"Поскольку он идентифицировал себя с операционной системой, ему не нужно делать это снова для базы данных"
поэтому вам нужно войти в систему как пользователь root в Unix, чтобы войти в систему как root в mysql/mariadb:
sudo mysql
Если вы хотите войти в систему с правами root от обычного пользователя Unix, вы можете отключить плагин аутентификации для root.
Предварительно вы можете установить пароль root с помощью mysql_secure_installation (пароль по умолчанию пуст), а затем разрешить каждому пользователю проходить аутентификацию как root с помощью:
shell$ sudo mysql -u root
[mysql] use mysql;
[mysql] update user set plugin='' where User='root';
[mysql] flush privileges;
[mysql] \q
Ответ 4
Lucups, Флорис прав, но вы прокомментируете, что это не решило вашу проблему. Я столкнулся с теми же симптомами, когда mysql (mariadb) не будет принимать пустой пароль, который он должен принять, и '/var/lib/mysql' не существует.
Я обнаружил, что эта страница Moonpoint.com была включена. Возможно, как и я, вы пытались запустить службу mysqld вместо службы mariadb. Попробуйте:
systemctl start mariadb.service
systemctl status mysqld service
Далее следуют обычные:
mysql_secure_installation
Ответ 5
Пароль по умолчанию пуст. Точнее, вам даже НЕ нужен пароль для входа в систему с правами root на localhost. Вам просто нужно быть root. Но если вам нужно установить пароль в первый раз (если вы разрешите удаленный доступ к root), вам нужно использовать:
sudo mysql_secure_installation
Введите пустой пароль, затем следуйте инструкциям.
Проблема, с которой вы сталкиваетесь, заключается в том, что вам нужно быть root, когда вы пытаетесь войти в систему как root с локальной машины.
В Linux: mariadb будет принимать соединение как root в сокете (localhost) ТОЛЬКО, ЕСЛИ ПОЛЬЗОВАТЕЛЬ ПРОСИТ, ЧТО КОРТ. Это означает, что даже если вы попробуете
mysql -u root -p
И у вас есть правильный пароль, вам будет отказано в доступе. То же самое касается
mysql_secure_installation
Mariadb всегда отказывается от пароля, потому что текущий пользователь не является root. Поэтому вам нужно называть их sudo (или как пользователь root на вашем компьютере) Поэтому локально вы просто хотите использовать:
sudo mysql
и
sudo mysql_secure_installation
При переходе с mysql на mariadb мне потребовалось, чтобы я это понял.
Ответ 6
Если ваша БД установлена правильно и набрала неверный пароль, ошибка будет выбрана следующим образом:
ERROR 1698 (28000): Access denied for user 'root'@'localhost'
Следующая ошибка указывает, что БД не было запущено/установлено полностью. Ваша команда не может найти и поговорить с вашим экземпляром БД.
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2 "No such file or directory")
Хорошая практика - изменить пароль после новой установки
$ sudo service mysql stop
$ mysqld_safe --skip-grant-tables &
$ sudo service mysql start
$ sudo mysql -u root
MariaDB [(none)]> use mysql;
MariaDB [mysql]> update user set password=PASSWORD("snafu8") where User='root';
MariaDB [mysql]> flush privileges;
MariaDB [mysql]> exit;
$ sudo service mysql restart
ИЛИ
mysqladmin -u root password 'enter password here'
Ответ 7
Возникла такая же проблема после установки mysql mariadb 10.3. Пароль не был НЕДЕЙСТВИТЕЛЕН, поэтому простое нажатие ENTER не работало для меня. Итак, наконец-то пришлось сменить пароль. Я следовал инструкциям отсюда. В двух словах; остановить сервер
sudo systemctl stop mariadb.service
получить доступ к серверу через бэкдор, запустив сервер базы данных и пропустив таблицы сетей и разрешений.
sudo mysqld_safe --skip-grant-tables --skip-networking &
войдите как root
sudo mysql -u root
затем измените пароль сервера
use mysql;
update user set password=PASSWORD("new_password_here") where User='root';
Обратите внимание, что после MySQL 5.7 поле пароля в поле таблицы mysql.user было удалено, теперь имя поля - "authentication_string". Поэтому используйте подходящее имя таблицы в зависимости от версии mysql. наконец сохранить изменения и перезапустить сервер
flush privileges;
sudo systemctl stop mariadb.service
sudo systemctl start mariadb.service
Ответ 8
Я считаю, что нашел правильные ответы отсюда.
Итак, в общем, это говорит следующее:
пользователь: root
пароль: пароль
То есть для версии 10.0.15-MariaDB, установленной через Wnmp ver. 2.1.5.0 на Windows 7 x86
Ответ 9
По умолчанию установка MariaDB имеет анонимного пользователя, позволяя любому войти в MariaDB без необходимости создания учетной записи пользователя. Это предназначено только для тестирования, и сделать установку более гладкой. Вы должны удалить их, прежде чем производственная среда.
Ответ 10
Для меня password = admin
, сработало. Я установил его с помощью pacman
, Arch (Manjaro KDE).
NB: MariaDB уже была установлена, как зависимость от Amarok.
Ответ 11
Пароль по умолчанию для Mariadb пуст.
$ mysql -u root -p
Enter Password: <--- press enter