MySQL 根密码无法按预期工作

MySQL 根密码无法按预期工作

我在 Ubuntu 16.04 上运行 MariaDB 10.0.24。我通过 xenial repo 安装了它apt-get install mariadb-server

root 密码似乎无法正常工作。我按照以下步骤设置密码:http://dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html但我得到以下行为:

当我这样做时sudo mysqlsudo mysql -u root它会让我进入控制台而不要求输入密码(为什么我不需要密码就可以进入?)

当我这样做时,sudo mysql -u root -p它会要求我输入密码,但无论我输入什么字符串,它都会让我进入 mysql 控制台。为什么输入错误的密码后它还是让我进入?

当我这样做时,mysql -u root它会要求我输入密码,但不会接受我按照链接文章中的说明设置的密码。

显然有些地方不对劲。有人知道为什么它根本不要求 root 输入密码,也不接受我的用户的密码吗?

答案1

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> 更新用户设置插件 = '' 其中用户 = 'root';mysql> 刷新权限;

相关内容