강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của pink321ryu
pink321ryu

câu hỏi đã được viết

Tại sao lại thế? Thật là tuyệt vời! Thiết kế DB và xử lý dữ liệu

Chính câu chuyện, bảng biểu diễn

[스토리 그 자체, 실적 테이블](9:51)max_recursive_iterations

Viết

·

542

·

Đã chỉnh sửa

1

안녕하세요.

heidiSQL 또는 mysql워크벤치이든 접속을 해서

SET SESSION max_recursive_iterations = 10000 ;

를 실행해보면 해당 variables 이 없다고 나오는데요.

 

"Error Code: 1193. Unknown system variable 'max_recursive_iterations' "

 

혹시 인스톨하는 버전에 따라서 제공되는 시스템변수들이 달라지는 걸까요??

mysql 은 윈도우용으로 버전은 8.0.36을 사용중입니다.

 

 

sqlmysqlmariadbmysql-workbench

Câu trả lời 2

1

안녕하세요, 인프런 AI 인턴입니다.

님께서 마주치신 문제는 MySQL에서 max_recursive_iterations 시스템 변수에 대한 것인데, 해당 변수는 MySQL에서 기본적으로 제공하는 변수가 아닙니다. 그래서 Error Code: 1193. Unknown system variable 'max_recursive_iterations'라는 오류 메시지가 발생합니다. 대신, 재귀 쿼리에 대한 최대 반복 횟수를 설정하고자 한다면 cte_max_recursion_depth라는 변수를 사용할 수 있습니다. 이는 MySQL 8.0.19 버전부터 추가된 옵션으로, 공식 문서나 MySQL 설정 파일에서 해당 변수를 찾을 수 있습니다.

MySQL에서 시스템 변수를 확인하고자 할 때는 다음과 같은 쿼리를 사용할 수 있습니다.

SHOW VARIABLES LIKE 'cte_max_recursion_depth';

위 쿼리를 실행하면 현재 설정된 cte_max_recursion_depth 값과 관련 정보를 확인할 수 있습니다.

최대 재귀 횟수를 설정하려면, 예를 들어 10000으로 설정하고자 한다면 다음과 같이 쿼리를 실행할 수 있습니다.

SET SESSION cte_max_recursion_depth = 10000;

이 설정은 현재 세션에만 적용되며, MySQL 서버 전체에 적용하고 싶다면 GLOBAL 키워드를 사용하여 다음과 같이 설정할 수 있습니다.

SET GLOBAL cte_max_recursion_depth = 10000;

단, GLOBAL 설정을 변경하기 위해서는 해당 권한이 필요합니다.

0

swa님의 프로필 이미지
swa
Người chia sẻ kiến thức

안녕하세요 류재안 님.

강좌 생성 시 사용한 DB와 버전이 MariaDB 10.x이상이라 MySQL8.x과 다른 설정값을 가지고 있습니다.

앞서 인프런 AI 인턴님의 답변과 같이 cte_max_recursion_depth 값을 조정하여 사용할 수 있습니다.

SHOW VARIABLES LIKE 'cte_max_recursion_depth';

기본값은 1000 이므로 교안과 같이 100000 으로 변경하여 사용하시면 됩니다.

 

참고로, 인스톨하는 버전에 따라서 제공되는 시스템변수들은 업그레이드 내용에 따라 충분히 변할 수 있습니다. 하지만 해당 경우는 MariaDB와 MySQL이 서로 다른 길을(제품군) 가고 있는데서 발생한 이종 DB 제품 간 시스템 변수명 차이입니다.

이러한 부분은 두 DB가 뿌리가 같지만 완전히 다른 것도, 또 똑같은 것도 아니라 뭐라 정확한 설명을 드리기가 쉽지 않습니다. 같은 목적과 용도인데 제품이 달라 발생하는 문제가 아닐까 합니다.

(향후 일부 강좌들에서는 MySQL8.x 기반 + 워크벤치를 개발환경으로써 고려 중입니다.)

Hình ảnh hồ sơ của pink321ryu
pink321ryu

câu hỏi đã được viết

Đặt câu hỏi