Настройки корневого пароля MySQL и sudo mysql VS mysql

Мой вопрос может быть дублирован, поскольку даже я ищу кучу вещей, но, как много нового для MySQL и немного старого для Ubuntu, я работаю над raspberry pi и пытаюсь установить сервер MySQL, чтобы растянуть изображение.

установка сервера MySQL с использованием этого:

 sudo apt install mariadb-server

По умолчанию MySQL устанавливается без какого-либо пароля, что означает, что вы можете получить доступ к серверу MySQL без какой-либо аутентификации.

Теперь, когда на Raspberry Pi установлено программное обеспечение сервера MySQL, нам нужно будет защитить его, установив пароль для пользователя «root».

Выполните следующую команду, чтобы начать процесс защиты MySQL

  sudo mysql_secure_installation

После того, как это произошло, я изменил пароль и оставшиеся вопросы, на которые я ответил y , и продолжаю.

 In order to log into MySQL to secure it, we'll need the current
 password for the root user.  If you've just installed MySQL, 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 MySQL
 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! 

Теперь, когда я использую следующую команду для доступа к серверу MySQL

 sudo mysql -u root -p

, он запрашивает пароль, поэтому я ввожу пароль, который я ввел, как указано выше, и он работает.

Но странно то, что даже я просто нажимаю клавишу ввода после установки sudo mysql -u root -p , это работает.

И когда я помещаю mysql -u root -p , он запрашивает пароль, который я ввел, как указано выше, и, к сожалению, на этот раз он не работает и выдает ошибку

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

Кто-нибудь может мне помочь, почему это происходит и где я ошибаюсь?

0
задан 30 January 2020 в 19:50

1 ответ

Пользователю root требуется 'sudo'. Создайте нового пользователя с помощью следующей команды:

CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';

GRANT ALL PRIVILEGES ON database_name.* TO 'newuser'@'localhost';

Теперь новый пользователь может войти в систему без требования sudo:

mysql -u newuser -p
1
ответ дан 31 January 2020 в 08:18

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

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