我在 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 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
要求 passowrd 因为你把 -p 放在你的命令中(参见man mysql
)请阅读密码安全的用户指南
特别是对于用户问题
由于 Ubuntu 16.04 使用 Xenial,这在他们控制某些事物的方式上有点奇怪,并且使用一个影响我们使用许多系统管理员的插件。
mysql>使用mysql;mysql>更新用户集插件=''其中用户='root'; mysql> 刷新权限;