dil

Идиотский сервер mariadb в свежем Debian’е

Jan 08, 2019 02:56


В Debian’е 9.6 попробовал установить mysql, но вместо него поставилась mariadb.

Сервер автоматически запустился, но зайти в него от меня самого не получалось:

$ mysql -u root ERROR 1698 (28000): Access denied for user 'root'@'localhost'
А с “-p” запрашивался пароль, но я его не знал - при установке сервера пароль ввести не просили.

Погуглил, запустил от рута mysql_secure_installation, ввёл там пароль, но клиентскую программу всё равно не пускали:

$ mysql -u root -p Enter password: ERROR 1698 (28000): Access denied for user 'root'@'localhost'
А вот когда попробовал запустить mysql от рута, он успешно подключился к серверу вообще без пароля:

# mysql Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 1 Server version: 10.1.37-MariaDB-0+deb9u1 Debian 9.6 Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]>
Посмотрел в таблицу mysql.user, там вполне был root@localhost с паролем и полными привилегиями, как обычно.

Ещё погуглил, и запустил там

GRANT ALL PRIVILEGES on *.* to 'root'@'localhost' IDENTIFIED BY 'ТОТжеСАМЫЙпароль'; FLUSH PRIVELEGES;
и хотя в mysql.user вроде ничего не поменялось, но “mysql -u root -p” стал работать от моего эккаунта.
А от рута просто так работать перестал:

# mysql ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
Только с -p, и с тем же паролем работает, как обычно в mysql’е.

Оригинал этой записи в личном блоге.
(
| Комментировать в Dreamwidth)

полезности, db, linux, mysql, debian, грабельки

Up