
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...
.