首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mysql -拒绝用户‘root’@‘x.x’的访问

问Mysql -拒绝用户‘root’@‘x.x’的访问
EN

Server Fault用户
提问于 2011-01-31 22:51:42
回答 6查看 165.5K关注 0票数 15

我正在尝试从本地框连接到远程mysql数据库。一开始,我甚至无法访问mysql。但是,在对binding_address文件中的my.cnf进行注释并重新启动mysql服务器之后,我现在可以点击它了。

但是现在,我收到一个访问被拒绝的错误

代码语言:javascript
复制
mysql -u root -h x.x.x.x -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'x.x.x.x' (using password: YES)

我的IP是不是被列入黑名单了?我可以改变这一点,因为我有远程框的管理权限。谁来帮帮我。

EN

回答 6

Server Fault用户

回答已采纳

发布于 2011-01-31 22:55:49

进行双重检查,以确保root用户可以从本地主机以外的主机/IP访问。

mysql>使用mysql; mysql>从用户选择主机,其中user = 'root';

如果它只返回带有"localhost“的一行,则需要向正在连接的IP授予权限。

mysql>授予选择,插入我的数据库。*到‘根’@‘10.0.0.1’;

用您想要访问的数据库(或放入通配符)替换mydatabase,然后用客户端正在连接的地址或子网替换IP。

票数 10
EN

Server Fault用户

发布于 2011-02-01 00:54:00

第一件事是获得完全的许可。如果不能,请将这一行添加到my.cnf中并重新启动mysql:

代码语言:javascript
复制
skip-grant-tables

我建议做一些调查,看看你有哪些用户:

代码语言:javascript
复制
SELECT user,host,password FROM mysql.user WHERE user = 'root' ORDER BY host ASC;

这将显示用户列表,如下所示:

代码语言:javascript
复制
mysql> SELECT user,host,password FROM mysql.user WHERE user = 'root' ORDER BY host ASC;
+------+------------+-------------------------------------------+
| user | host       | password                                  |
+------+------------+-------------------------------------------+
| root | 127.0.0.1  |                                           |
| root | ::1        |                                           |
| root | localhost  | *E0AD777475E6713F9B04317EE38888D61042DAC1 |
| root | randym-mbp |                                           |
+------+------------+-------------------------------------------+
4 rows in set (0.01 sec)

您需要在列表中看到localhost。如果没有,请按如下方式添加:

代码语言:javascript
复制
GRANT ALL PRIVILEGES ON *.* TO root@'localhost' IDENTIFIED BY 'your_password' WITH GRANT OPTION;

否则,只需按以下方式更新密码:

代码语言:javascript
复制
SET PASSWORD FOR root@'localhost' = PASSWORD('your_password');
FLUSH PRIVILEGES;

然后从my.cnf中删除跳过授予表并重新启动mysql。

票数 22
EN

Server Fault用户

发布于 2011-01-31 22:55:15

mysql中的密码是按IP设置的。通常,它们只被设置为仅通过本地主机访问,特别是对于根用户。验证权限表中是否存在root@%项设置。

如果您确实需要允许远程根访问,那么请考虑更改用户名,这样人们就不会轻易地猜测您的服务器超级用户帐户。

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

https://serverfault.com/questions/230012

复制
相关文章

相似问题

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