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尝试将您登录到mysql
root
帐户,并提示输入该帐户的密码。     

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...