programing

MySQL - 액세스 권한 부여가 작동하지 않음

procenter 2022. 12. 29. 21:29
반응형

MySQL - 액세스 권한 부여가 작동하지 않음

mysql의 특정 데이터베이스에 대한 접근 권한을 사용자에게 부여하려고 합니다.하지만 명령어는 효력을 발휘하지 못하는 것 같습니다.

제 말은 이렇습니다.

순서 1:

  • db 'testdb' 생성
  • testbd에서 'testuser'@'%'에게 권한을 부여합니다.*
  • testdb 사용자(FAILS)를 사용하여 mysql에 액세스하려고 합니다.

root@bnode1 /]# mysql - h 172.22.191.html - u root - ppassword

MariaDB [(none)]> 
MariaDB [(none)]> CREATE DATABASE IF NOT EXISTS testdb;
Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> grant all privileges on testdb.* to 'dummyuser'@'%'   identified by 'password';
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> exit
Bye
[root@bnode1 /]# 
[root@bnode1 /]# mysql -h 172.22.191.202 -u dummyuser -ppassword
ERROR 1045 (28000): Access denied for user 'dummyuser'@'bnode1' (using   password: YES)

mysql 데이터베이스에서는 다음과 같이 dummyuser의 grant 권한을 확인할 수 있습니다.

MariaDB [(none)]> show grants for 'dummyuser';
+-----------------------------------------+
| Grants for dummyuser@%                                                                                        |
+-----------------------------------------+
| GRANT USAGE ON *.* TO 'dummyuser'@'%' IDENTIFIED BY PASSWORD     '*2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19' |
| GRANT ALL PRIVILEGES ON `testdb`.* TO 'dummyuser'@'%'                                                   |
+-----------------------------------------+
2 rows in set (0.00 sec)

스텝 2: 이제 다른 것을 시도했습니다.사용자 'dummyuser'@'bnode1'에게 동일한 명령어를 부여하여 액세스 할 수 있게 되었습니다.

root@bnode1 /]# mysql -h 172.22.191.202 -u root -ppassword     
Welcome to the MariaDB monitor.  Commands end with ; or \g.
...

MariaDB [(none)]> grant all privileges on testdb.* to '**dummyuser'@'bnode1'** identified by 'passwor>
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> exit
Bye
[root@bnode1 /]# 
[root@bnode1 /]# 
[root@bnode1 /]# mysql -h 172.22.191.202 -u dummyuser -ppassword
Welcome to the MariaDB monitor.  Commands end with ; or \g.
...
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

저는 mysql 전문가가 아닙니다.누군가 제가 뭘 잘못하고 있는지 설명해 주실 수 있나요?

ERROR 1045 (28000):사용자 'dummyuser'@'bnode1'에 대한 액세스가 거부되었습니다(암호: YES 사용).

다른 호스트에서 연결을 시도하여 'bnode1'이 'dummyuser'로 제한되었는지 확인해야 할 수 있습니다.

또는 신규 사용자(create user 명령어를 표시하지 않았기 때문에 기존 사용자로 추측)를 생성하여 grant 명령어를 실행할 수 있습니다.

그럴 가능성은 낮지만 만약을 위해 my.cnf에서 'blocks=0.0.0'을 확인해야 합니다.

언급URL : https://stackoverflow.com/questions/29176236/mysql-grant-access-permissions-does-not-work

반응형