본문 바로가기

Database/mariaDB administrator

mariadb procedure 소스 보는 권한 해결

mariadb procedure 소스 보는 권한 해결

mariadb procedure 소스 보는 권한 해결

 

안녕하세요.
얼마전 사내 개발자분이 생성 되어 있는 procedure의 내부 소스를 보고 싶다는 요청을 하셨습니다.
그래서 실행이 되면 당연히 보실수 있을꺼라 생각하여 execute 권한이 있는 것을 확인하고 되실꺼라 했는데, 어랏?
보이지 않는다고 하시네요.

현재 권한 확인

그래서 지금 부여된 권한은 확인 해보았습니다.
저희는 dev라는 role을 생성해서 개발자분들의 권한을 관리하고 있기 때문에 해당 role에 부여된 권한을 확인 했습니다.

show grants for dev;

결과, usage와 더불어 업무상 필요한 schema들에 적당하게 select, insert, update, delete, execute가 들어가 있는것을 확인 했습니다.

그래서, 그럼 procedure와 같은 SP들의 소스를 보는 권한이 뭐가 있는지 찾아보았는데, alter routine, create routine 등만 보였습니다. 그래서 일단 alter routine은 아닌것 같아서 create routine 권한을 부여했는데도 여전히 소스는 보이지 않았습니다.

 

 

 

원인 파악 및 해결

그러다 문득, SHOW CREATE PROCEDURE <name> 이라는 procedure 소스를 보는 명령이 생각났고, 그렇다면 mysql.proc 오브젝트에 권한을 주면 되지 않을까 하는 생각이 들었죠.

GRANT SELECT ON mysql.proc TO dev;

이렇게 권한을 주고 당근 flush privileges; 로 적용을 시켜 줍니다.
그리고 procedure 소스를 확인을 해보니 잘 보입니다.

결론은 간단한거지만 여태 이런 권한을 요구했던 개발자 분들이 없었는데, 덕분에 알게되었습니다.
여러분들도 유용하게 사용 하시길 바랍니다.
감사합니다.

by.sTricky

2021.10.27 - [Database/mariaDB administrator] - mysql 실무에 유용한 sql 로직 모음 #01

 

mysql 실무에 유용한 sql 로직 모음 #01

mysql 실무에 유용한 sql 로직 모음 #01 안녕하세요. mysql 또는 mariadb를 사용하시면서 실무에서 만나게 되는 다양한 sql 로직들에 대해서 정리를 해보도록 하겠습니다. 물론, 오라클이나 mssql등에서도

stricky.tistory.com

2021.09.09 - [Database/프로그래머스SQL] - 프로그래머스 SQL 코딩 테스트 select 문제 풀이

 

프로그래머스 SQL 코딩 테스트 select 문제 풀이

프로그래머스 SQL 코딩 테스트 select 문제 풀이 SQL 연습하신다고 프로그래머스 SQL 풀어보시는 분들이 많이 계시네요. 오늘부터 하나씩 풀이를 써볼까 합니다. 자자, 그럼 레고레고~!!! select 모든

stricky.tistory.com

2021.10.21 - [python 기초강의] - python으로 excel 데이터 탭 별로 mysql DB로 이관 하기 (data migration)

 

python으로 excel 데이터 탭 별로 mysql DB로 이관 하기 (data migration)

python으로 excel 데이터 탭 별로 mysql DB로 이관 하기 (data migration) 오늘은 python을 이용하여 아주 간단하게 excel에 있는 데이터들을 DB로 이관 하는 방법에 대해서 확인 해보도록 하겠습니다. 우선, exc

stricky.tistory.com

2021.07.26 - [Database/mariaDB administrator] - [mysql]Errcode: 28 No space left on device 에러 메시지 해결 방법

 

[mysql]Errcode: 28 No space left on device 에러 메시지 해결 방법

[mysql]Errcode: 28 No space left on device 에러 메시지 해결 방법 안녕하세요. 위와같은 에러가 발생하는 원인은, 크게 mysql에서 쓰는 temp 디렉토리가 가득찼을때 입니다. 대부분, mysql이 설치되어 있는 홈.

stricky.tistory.com

2021.07.02 - [Database/mariaDB administrator] - mariadb partition table의 종류와 선택 기준 주의할 점

 

mariadb partition table의 종류와 선택 기준 주의할 점

mariadb partition table의 종류와 선택 기준 주의할 점 안녕하세요. 오늘은 mariadb의 파티션 테이블에 대해서 서 mariadb에서도 partition table을 지원 하고 있습니다. partition table의 종류 와 특징 mariad..

stricky.tistory.com