Назад | Перейти на главную страницу

Пароль root MySQL не работает должным образом

Я использую MariaDB 10.0.24 на Ubuntu 16.04. Я установил его через репозиторий xenial apt-get install mariadb-server.

Пароль root не работает должным образом. Я выполнил следующие шаги, чтобы установить пароль: http://dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html но я получаю следующее поведение:

Когда я делаю sudo mysql или sudo mysql -u root он вводит меня в консоль без запроса пароля (почему я могу войти без пароля?)

Когда я делаю sudo mysql -u root -p он запрашивает у меня пароль, но позволяет мне войти в консоль mysql независимо от того, какую строку я ввожу. Почему меня пропускают, если я задаю неверный пароль?

Когда я делаю mysql -u root он запрашивает у меня пароль, но не принимает пароль, который я установил, следуя инструкциям в связанной статье.

Что-то явно не так. Кто-нибудь знает, почему он вообще не запрашивает пароль от root и не принимает пароль от моего пользователя?

sudo mysql && sudo mysql -u root это избыточная команда. Не запрашивает пароль, потому что у вас есть файл с именем /root/.my.cnf с именем клиента и паролем

sudo mysql -u root -pзапрашивать пароль, потому что вы указали -p в своей команде (см. man mysql)

·   --password[=password], -p[password]

           The password to use when connecting to the server. If you use the short option form (-p), you cannot have a
           space between the option and the password. If you omit the password value following the --password or -p option
           on the command line, mysql prompts for one.

           Specifying a password on the command line should be considered insecure. See Section 6.1.2.1, “End-User
           Guidelines for Password Security”. You can use an option file to avoid giving the password on the command line.

Прочтите руководство пользователя по защите паролем

Специально для вопроса пользователя

Поскольку Ubuntu 16.04 использует Xenial, это немного странно в том, как они управляют определенными вещами, и работает с плагином, который влияет на то, как мы использовали многих системных администраторов.

mysql> используйте mysql; mysql> update user set plugin = '' где User = 'root'; mysql> очистить привилегии;