LINUX.ORG.RU

Установка пароля root для MariaDB - как?

 , , ,


0

2

Система Debian 9 Stable

Устанавливаю Maria DB:

apt-get update
apt-get install mariadb-server


Далее нужно задать пароль Root. Раньше у меня всегда срабатывали следующие рекомендации:

Либо эта: Задание пароля SQL-пользователя root для MariaDB (MySQL) в Debian 9
Либо эта: Первичная настройка MariaDB (MySQL) после установки

Но теперь они не работают. И не только у меня. Вот, например, вопрос товарища (достаточно старый) так и остался без решения: Проблемы с mariadb.

Проблема вот в чем. Под рутом пробую зайти в консоль MariaDB, ни одна из команд не срабатывает:

# mysql -u root
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

# mysql -u root -p
Enter password: [пробовал Enter и пароль рута]
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

# mysql_secure_installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!
In order to log into MariaDB to secure it, we'll need the current
password for the root user.  If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none): [нажимаю Enter]
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

Enter current password for root (enter for none): [ввожу пароль рута]
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
...


Буржуи говорят, что теперь поставка MariaDB делается с временным паролем, который можно подсмотреть в логе: https://stackoverflow.com/questions/21944936/error-1045-28000-access-denied-f...

Типа, делается это командой:

grep 'temporary password' /var/log/mysqld.log
или
grep 'temporary password' /var/log/mysql.log
или
grep 'temporary password' /var/log/mysql/error.log

Но ничего похожего в логах нет, никакого упоминания даже 'pass'.

Да и на стековерфлове у товарища так не получилось.

Там же написана процедура полного сброса пароля для MariaDB. Но это как-то уже за гранью добра и зла. Неужели свежеустановленную MariaDB нужно настраивать именно ТАК?

★★★★★

Там нужун пароль не рута системы, а пароль рута мускуля, который указывается в момент инсталляции.

Ну dpkg-reconfigure твойпакет например если дебоподобный дистр

deep-purple ★★★★★ ()
Последнее исправление: deep-purple (всего исправлений: 1)

По умолчанию пароль пустой, как на дебе не помню: задается или при инсталяции вопросом dpkg, или вообще везде при выполнении скрипта mysql_secure_installation

Какое подсмотреть в логе? Что за дичь вообще?

Ну и пароль root который суперюзер linux – вообще тут ни при чём. У мускуля/марии свои пользователи вообще.

mandala ★★★★ ()
Последнее исправление: mandala (всего исправлений: 1)

Ну не знаю... )
Вот прям щас захожу root-ом в docker-контейнер c Debian 9 и набираю:

apt-get update
apt-get install mariadb-server
cd /etc/init.d
./mysql start
mysql_secure_installation

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user.  If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none): 
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.

Set root password? [Y/n] Y
New password: 
Re-enter new password: 
Password updated successfully!
Reloading privilege tables..
 ... Success!

    ...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

Всё работает )

vinvlad ()
Ответ на: комментарий от mandala

Какое подсмотреть в логе? Что за дичь вообще?
Ну и пароль root который суперюзер linux – вообще тут ни при чём. У мускуля/марии свои пользователи вообще.

Это все понятно. Но мало ли что напридумывали в новых пакетах, я пробую все варианты. Может там какой неявный вызов sudo даже для рута сделали или еще что-нибудь. Дичи вокруг много, про пароль в логе тоже не на пустом месте написали.

В общем, решил проблему процедурой полного сброса пароля, все заработало.

Xintrea ★★★★★ ()

`/etc/init.d/mysql stop` или соответственно `systemctl stop mysql` если пользуешься этим говнищем systemd зачем то. ах да mysql замени на mariadb или как там этот форк наз-ся. затем `mysqld_safe --skip-grant-tables &` и `mysql -u root` должен войти без пароля. а там:

use mysql;
update user set password=password("your new password") where user = 'root';
flush privileges;
exit;

ну и всё `/etc/init.d/mysql start` и входи с «your new password»

iluha16 ()