Mariadb password in Ubuntu 18.04

I setup a password for Mariadb when I ran sudo mysql_secure_installation but when I try to run mariadb with mysql -u root -p I get the following error.

ERROR 1698 (28000): Access denied for user 'root'@'localhost'

I am on Ubuntu 18.04 on AWS's Lightsail VPS. I am using Mariadb version 10.1.44-MariaDB-0ubuntu0.18.04.1.

MariaDB [mysql]> SELECT user,plugin,host FROM mysql.user;
+---------------+-------------+-----------+
| user          | plugin      | host      |
+---------------+-------------+-----------+
| root          | unix_socket | localhost |
| wordpressuser |             | localhost |
+---------------+-------------+-----------+

Secondly, I am confused about what is the proper way to setup and use Mariadb.

  1. Should I setup a password when it asks for me during mysql_secure_installation?
  2. Should mysql be accessed using sudo mysql or mysql -u root -p?

I can setup a password as instructed on JournalDev but I was wondering what is the right way to do it.

$ mysql -u root -p
MariaDB [(none)]> use mysql;
MariaDB [mysql]> update user SET PASSWORD=PASSWORD("Passw0rd!") WHERE USER='root';

0
задан 26 July 2020 в 09:46

1 ответ

Прочитайте здесь, чтобы ответить на все ваши вопросы: Плагин аутентификации - Unix Socket

По сути, по умолчанию корневая учетная запись mysql защищена с помощью плагина unix_socket , так что только пользователь root Ubuntu может войти в систему пользователя корневой базы данных. Поэтому sudo mysql -u root mysql должен работать, но mysql -u root mysql как пользователь без полномочий root не будет.

Можно изменить это поведение и использовать аутентификацию по паролю, если вам действительно нужно (см. связанную статью), но вы , возможно, делаете вашу базу данных менее защищенной. Это действительно зависит от вашего варианта использования и потребностей.

0
ответ дан 30 July 2020 в 22:02

Другие вопросы по тегам:

Похожие вопросы: