首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安装后如何使mysql识别根用户?

问安装后如何使mysql识别根用户?
EN

Server Fault用户
提问于 2013-01-20 11:08:13
回答 2查看 1.4K关注 0票数 0

我刚刚安装了MySQL 5.5,安装后我就被要求通过执行这两个命令来设置根密码:

代码语言:javascript
复制
/usr/bin/mysqladmin -u root password 'new-password'
/usr/bin/mysqladmin -u root -h linux-opxd password 'new-password'

或

代码语言:javascript
复制
/usr/bin/mysql_secure_installation

我执行了第一个命令--好的。我执行了第二个命令,这次是错误的:

错误:“拒绝用户'root'@'localhost‘的访问(使用密码:否)”

我重新执行了第一个(用于检查) --错误如上。

所以,我执行了mysql_secure_installation。一切顺利,我的密码被认出了。因此,我再次执行了前两个命令--并再次出错。

作为另一项检查:

代码语言:javascript
复制
mysql --user=root

与上面相同的错误。

我尝试用mysql身份验证重新设置密码,也尝试了/usr/bin/mysql_upgrade -u root -p --在尝试将mysql控制台作为root启动时仍然存在错误。

最后,我关闭了身份验证,连接到控制台并执行以下操作:

代码语言:javascript
复制
SELECT user();

输出-- root@。如果我像这样连接:

代码语言:javascript
复制
mysql --user='root@localhost'

我去找root@localhost@。

所以现在看来,这并不是特权的问题,也不是缺少密码之类的问题,而是无法识别命令行中给出的用户- mysql在末尾追加@,这似乎就是问题所在(至少对我来说是这样)。

问题是:如何使MySQL识别给定的用户?

EN

回答 2

Server Fault用户

回答已采纳

发布于 2013-01-20 11:33:37

您收到的第一个错误是:

错误:“拒绝用户'root'@'localhost‘的访问(使用密码:否)”

指示您可能没有在mysql命令中使用-p选项。

一旦您创建了mysql根密码,您应该能够使用以下方法访问MySql:

代码语言:javascript
复制
mysql -u root -p

将提示您输入MySql根密码。

如果希望启用来自其他位置的访问(与本地主机不同),可以使用类似于此的SQL命令授予特权:

代码语言:javascript
复制
mysql> CREATE USER 'username'@'localhost' IDENTIFIED BY 'some_pass';
mysql> GRANT ALL PRIVILEGES ON databaseName.* TO 'username'@'localhost' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;

以类似的方式,您可以通过将'username'@'localhost‘改为:'username'@'someFQDN','username'@'IP_ address ','username'@'%’,从而启用从其他主机名/IP地址或任何位置访问MySql DB。

有关更多信息,我建议:http://dev.mysql.com/doc/refman/5.1/en/adding-users.html。

干杯!

票数 3
EN

Server Fault用户

发布于 2013-01-20 11:37:57

在第二个mysqladmin命令上获得错误消息的原因是没有使用在第一个命令中设置的密码对服务器进行身份验证。只需在第二个命令中包含'-p‘,并在被要求时输入密码。或者更简单,只需使用mysql_secure_installation命令,因为它会处理它以及其他一些有用的东西。

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/470794

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档