MyDac Component의 TMyStoredProc를 이용하여 Mysql의 Stored Procedure를 호출하는 과정에서 아래와 같은 오류가 발생하였다.
#42000SELECT command denied to user 'dbuser'@'serverip' for table 'proc'
Mysql을 설치하고 권한을 설정하면서 Proc Table의 Select 권한이 없어서,
Procedure 목록을 가져오지 못해 발생하는 오류로써, 권한을 부여함으로써 해결되었다.
참고 : http://dev.mysql.com/doc/refman/5.0/en/grant.html
1. 프로시저 및 함수 사용과 관련한 권한 설정
grant CREATE ROUTINE, ALTER ROUTINE, DROP ROUTINE, EXECUTE ON *.* TO 'dbname'@'hostip';
※ 프로시저 관련 작업이 안돼서 추가 했음.
2. 뷰 보기 권한 설정
grant SHOW VIEW ON *.* TO 'pandora'@hostip';
※ 뷰를 사용하고 있는데 권한이 없어 문제 발생했었음.
3. mysql database에서 proc select 권한 설정
grant SELECT ON *.* TO 'hostname'@'hostip';
※ Delphi 컴퍼넌트 MyDAC에서 mysql.proc를 select 하는 것 같음. 그런데 권한이 없어 에러 발생
#42000SELECT command denied to user 'dbname'@'hostip' for table 'proc'
4. 함수 생성과 관련한 설정
참고 : http://mirrors-r-us.net/doc/refman/5.0/en/stored-procedure-logging.html
처리 :
1) SET GLOBAL log_bin_trust_function_creators = 1;
2) my.cnf 에서 log_bin_trust_function_creators = 1; 추가
※ 관련 에러
Error Code : 1419
You do not have the SUPER privilege and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable)
(0 ms taken)
1. 프로시저 및 함수 사용과 관련한 권한 설정
grant CREATE ROUTINE, ALTER ROUTINE, DROP ROUTINE, EXECUTE ON *.* TO 'dbname'@'hostip';
※ 프로시저 관련 작업이 안돼서 추가 했음.
2. 뷰 보기 권한 설정
grant SHOW VIEW ON *.* TO 'pandora'@hostip';
※ 뷰를 사용하고 있는데 권한이 없어 문제 발생했었음.
3. mysql database에서 proc select 권한 설정
grant SELECT ON *.* TO 'hostname'@'hostip';
※ Delphi 컴퍼넌트 MyDAC에서 mysql.proc를 select 하는 것 같음. 그런데 권한이 없어 에러 발생
#42000SELECT command denied to user 'dbname'@'hostip' for table 'proc'
4. 함수 생성과 관련한 설정
참고 : http://mirrors-r-us.net/doc/refman/5.0/en/stored-procedure-logging.html
처리 :
1) SET GLOBAL log_bin_trust_function_creators = 1;
2) my.cnf 에서 log_bin_trust_function_creators = 1; 추가
※ 관련 에러
Error Code : 1419
You do not have the SUPER privilege and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable)
(0 ms taken)