如何解决mysql密码更新取决于Linux上的用户帐户吗?
| 嗨,Mysql和Linux专家! 我在本地计算机上安装Mysql服务器时遇到了奇怪的行为问题。这是历史- 我通常以“ 0”用户身份运行,并使用“ 1”获得安装的root用户特权。 我在Fedora Linux machine 13
上安装了MySQL 5.1 server
使用localhost
的mysql客户端进行连接时,我使root
的用户必须具有密码
这就是我需要的-我需要测试一个Shell脚本,该脚本在没有用户名和密码的情况下调用mysql
客户端,我需要删除mysqls
根用户的密码。同样(重要),脚本应从我的计算机的“ 4”用户运行。
mysql -D dbname update user set password = PASSWORD(\'\') where user = \'root\' and host = \'localhost\';问题! -现在从我的非root Unix帐户中,当我仅运行
mysql
时,它就成功登录了我。但是当我执行su
时,以linux root(超级用户)身份登录并运行mysql
-我得到
ERROR 1045 (28000): Access denied for user \'root\'@\'localhost\' (using password: NO)
发布脚本-我已经使用超级用户帐户的备用帐户登录,然后重新运行查询以更新用户,但仍然无法正常工作。我怎么能以非root用户身份运行没有用户名和密码的mysql
客户端,却不能像linux超级用户一样运行?
任何帮助将不胜感激
解决方法
直接更新GRANTS或mysql表后,许多人忘记执行
FLUSH PRIVILEGES
。
仅在FLUSH PRIVILEGES
之后,更改才会生效。
,MySQL帐户完全独立于系统帐户。它们可能碰巧具有相同的用户名(例如默认的“ 4”帐户是系统帐户,而mysql是超级用户帐户)。
在mysql中的帐户上设置密码后,您必须强制mysql监视器(mysql
命令)提示输入密码(-p
)选项,并且如果您的MySQL帐户名可能指定您的MySQL用户名(ѭ20)选项)与您的Linux用户名不匹配:
换一种说法:
mysql -u root -p
会告诉MySQl尝试将您登录到mysqlroot
帐户,并提示输入该帐户的密码。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。