Mysql 5.1

2011. 9. 15. 14:12Database


1. procedure 권한 없을경우
   GRANT SELECT ON mysql.proc TO ncanis@"%"; 

2. you *might* want to use the less safe log_bin_trust_function_creators
variable


function 만들 때 

ERROR 1418 (HY000): This function has none of DETERMINISTIC, NO SQL, 
or READS SQL DATA in its declaration and binary logging is enabled 
(you *might* want to use the less safe log_bin_trust_function_creators 
variable) 

에러 내용을 접하셨다면 1번 과 2번 방법으로 해결하시면 될겁니다. 

1. mysql 서버를 시작할 때 다음 옵션을 추가 한다. 
    --log-bin-trust-function-creators=1 

2. 계정에 접속해서 다음을 실행한다. 
  mysql>SET GLOBAL log_bin_trust_function_creators = 1; 

도움이 되셨으면 합니다. 그럼...


  • READ UNCOMMITTED
    - 다른 트랜잭션이 Commit 전 상태를 볼 수 있음
  • READ-COMMITTED (Oracle Default)
    - Commit된 내역을 읽을 수 있는 상태로, 트랜잭션이 다르더라도 특정 타 트랜잭션이 Commit을 수행하면 해당 데이터를 Read할 수 있음
  • REPEATABLE READ (MySQL Default)
    - 트랜잭션이 완료될 때까지 SELECT 문장이 사용하는 모든 데이터에 Shared Lock이 걸리는 레벨로 트랜잭션이 종료될 때까지 다른 사용자가 해당 행을 수정하지 못하며, 여러 번 데이터를 읽어도 같은 값이 유지되도록 함. 다른 트랜잭션에 의한 변경 사항을 볼 수 없고, 변경 사항을 확인하기 위해서는 트랜잭션을 새로 시작해야 함
  • SERIALIZABLE
    - 가장 높은 Isolation Level로 트랜잭션이 완료될 때까지 SELECT 문장이 사용하는 모든 데이터에 Shared Lock이 걸리는 레벨로 다른 사용자는 해당 영역에 관한 데이터 변경 뿐만 아니라 입력도 불가함

적용
SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED ;
SELECT * FROM TABLE_NAME ;
SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ ;