November 2019

S M T W T F S
      12
34 5 678 9
10111213141516
17181920212223
24252627282930

Style Credit

Expand Cut Tags

No cut tags
Tuesday, January 8th, 2019 02:56 am

В 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’е.

Оригинал этой записи в личном блоге.

Reply

This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting