programing

와일드카드 호스트를 사용한 MariaDB 부여 권한이 작동하지 않습니다.

cafebook 2023. 9. 25. 23:07
반응형

와일드카드 호스트를 사용한 MariaDB 부여 권한이 작동하지 않습니다.

5.5.35-MariaDB Server를 Openstack keystone 설치에 사용하고 있습니다.

다음 두 명령은 사용자 키스톤에 대한 권한을 삽입하는 데 사용됩니다.

GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' IDENTIFIED BY 'keystone';
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' IDENTIFIED BY 'keystone';
flush privileges;

그러나 /etc/hosts 파일에 기록된 호스트 이름을 지정할 때 액세스 거부 문제가 발생했습니다.'localhost'를 사용한 액세스가 정상적으로 작동하는 동안.

[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

제가 해결할 수 있는 방법은 호스트 이름에 명시적으로 권한을 부여하는 것입니다. 그러면 다음과 같이 작동합니다.

GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'controller' IDENTIFIED BY 'keystone';

위 와일드카드 호스트 '%'이(가) 작동하지 않으므로 정상 동작입니까?

갱신하다

쿼리 결과는 다음과 같습니다.

MariaDB [(none)]> SELECT User, Host FROM mysql.user WHERE User = 'keystone';
+----------+-----------+
| User     | Host      |
+----------+-----------+
| keystone | %         |
| keystone | localhost |
+----------+-----------+
2 rows in set (0.00 sec)

IP 주소와 호스트 이름은 다음과 같습니다.

[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

'localhost'가 아닌 사용자 호스트 이름입니다.1045 오류를 수정했습니다.

키스톤에 대한 모든 권한을 부여합니다.* 'keystone'@'controller'에 'keystone'으로 식별됨;

언급URL : https://stackoverflow.com/questions/33052505/mariadb-grant-privilege-by-using-wildcard-host-is-not-working

반응형