MariaDB의 사용자 권한

MariaDB의 사용자 권한

MariaDB 10.1 인스턴스(Debian GNU/Linux 9 테스트/불안정)가 있습니다. 이는 로컬 네트워크 데이터베이스 서버로만 사용되며 다른 것은 없습니다. 이 질문의 범위를 벗어나는 이유 때문에 해당 서버는 서버 IP 주소(10.7.33.102)를 수신해야 하는 데이터베이스 자체를 제외한 다른 것을 호스팅해서는 안 됩니다.

서버 셸에서 데이터베이스에 연결하면 모두 정상입니다.

root@datangshan:~# mysql
[...]
MariaDB [(none)]> show databases;

+--------------------+
| Database           |
+--------------------+
| drackmd            |
| information_schema |
| mysql              |
| performance_schema |
| test               |
+--------------------+
5 rows in set (0.00 sec)

drackmd다른 호스트가 사용해야 하는 데이터베이스입니다 . root다음 명령을 사용하여 사용자가 다른 호스트에서 연결할 수 있도록 시도했습니다 .

grant all privileges on `*`.`*` to 'root'@'10.7.33.107' identified by 'secret' with grant option;

그런 다음 10.7.33.107의 서버에서 DB 서버에 연결할 수 있지만 사용자에게 root일종의 권한이 부족한 것 같습니다.

[email protected]:~# mysql -h 10.7.33.102 -p
Enter password: 
[...]
MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
+--------------------+
1 row in set (0.00 sec)

root(또는 다른 사용자)가 모든 데이터베이스와 그 안에 있는 모든 테이블을 볼 수 있도록 하려면 DB 서버에 어떤 명령을 실행해야 합니까 ?

답변1

IRC 채널 에서 얻은 해결책 #maria:

drop user 'root'@'10.7.33.107';
drop user 'root'@'%';
flush privileges;
grant all on `*`.`*` to 'root'@'10.7.33.107' identified by 'secret' with grant option;

차이점 grant all on ...에 유의하세요. 가 아닌 입니다 grant all PRIVILEGES on....

관련 정보