首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MariaDB通过使用通配符主机授予特权无效

MariaDB通过使用通配符主机授予特权无效
EN

Stack Overflow用户
提问于 2015-10-10 09:37:58
回答 1查看 1.9K关注 0票数 0

我正在使用5.5.35-MariaDBServer进行openstack安装。

下面两个命令用于插入用户keystone的权限:

代码语言:javascript
复制
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' IDENTIFIED BY 'keystone';
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' IDENTIFIED BY 'keystone';
flush privileges;

但是我在指定主机名时遇到了访问拒绝问题,主机名写在/etc/host文件中。当使用'localhost‘的访问运行良好时。

代码语言:javascript
复制
[root@controller mariadb]# mysql -ukeystone -pkeystone -hcontroller
ERROR 1045 (28000): Access denied for user 'keystone'@'controller' (using password: YES)

[root@controller mariadb]# mysql -ukeystone -pkeystone -hlocalhost
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 98
Server version: 5.5.35-MariaDB MariaDB Server

我的解决办法是显式地授予主机名的特权,然后它就工作了:

代码语言:javascript
复制
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'controller' IDENTIFIED BY 'keystone';

这是正常行为吗,因为上面的通配符主机‘%’不起作用??

更新

查询结果是:

代码语言:javascript
复制
MariaDB [(none)]> SELECT User, Host FROM mysql.user WHERE User = 'keystone';
+----------+-----------+
| User     | Host      |
+----------+-----------+
| keystone | %         |
| keystone | localhost |
+----------+-----------+
2 rows in set (0.00 sec)

ip地址和主机名类似于:

代码语言:javascript
复制
[root@controller rc]# ip address show Mgmt | grep inet
inet 10.0.10.101/24 brd 127.255.255.255 scope global Mgmt
inet6 fe80::a00:27ff:fe9e:6e1a/64 scope link

[root@controller rc]# cat /etc/hosts | grep controller
10.0.10.101 controller
EN

回答 1

Stack Overflow用户

发布于 2016-07-22 07:00:06

用户主机名显式而不是“localhost”。它修正了1045错误。

授予“keystone”的所有特权。*“keystone”@“控制器”,由“keystone”标识;

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

https://stackoverflow.com/questions/33052505

复制
相关文章

相似问题

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