
mysql 5.7 에서 8.0 으로 업그레이드 하던 중에
백업까지는 되었는데 복구가 안되는 문제가 발생했다.
error log)
| SQL Error [1227] [42000]: (conn=37) Access denied; you need (at least one of) the SYSTEM_USER privilege(s) for this operation (conn=37) Access denied; you need (at least one of) the SYSTEM_USER privilege(s) for this operation (conn=37) Access denied; you need (at least one of) the SYSTEM_USER privilege(s) for this operation Access denied; you need (at least one of) the SYSTEM_USER privilege(s) for this operation Access denied; you need (at least one of) the SYSTEM_USER privilege(s) for this operation |
에러로그 관련 디버깅을 해보니
mysql 8.0에서 예약어가 추가되었는데
mysql 5.7에서 사용하는 함수 중에 이 예약어를 변수나 함수명으로 써서 발생한 문제였다.
-> 우린 RANK 를 변수 자체로 쓴 게 문제였고 RANK_XXX 등으로 변수명을 변경하고 해당 이슈를 해결했다.
이번 이슈는 골치아픈 게 백업후 복구를 시작하기 전엔 발견하기 어렵고
복구 할 때 문제를 찾게 되면 이미 시간을 많이 허비한 상태에서
백업 전으로 돌아가서 이슈를 해결하고 다시 백업부터 시작해야 한다.
말이 좀 꼬였는데;

다시 정리하면
1. 이슈발생
백업 -> 재생성 -> 이슈발생 -> 재생성x
2. 해결
RANK 변수명 변경 -> 다시 백업 -> 재생성O
따라서 대용량 DB에서 해당이슈가 발생할 경우엔
뜻하지 않게 많은 시간을 소비하게 되어 서비스 적용을 연기하게 될 수도 있다.
이번에 된통 당하고;
mysql 8.0에 추가된 예약어 목록을 정리해 보았다.
혹시라도 해당이슈가 발생했을 때 저처럼 해매지말고 도움이 되길 바래본다.
3. mysql 8.0 추가된 예약어 목록 정리
- mysql5.7에서 8.0으로 버전업을 준비중이라면
반드시 아래 예약어가 source나 procedure, function에서 사용중인지 확인해야 한다.
ACTIVE
ADMIN
ARRAY
ATTRIBUTE
BUCKETS
CLONE
COMPONENT
CUME_DIST (R)
DEFINITION
DENSE_RANK (R)
DESCRIPTION
EMPTY (R)
ENFORCED
ENGINE_ATTRIBUTE
EXCEPT (R)
EXCLUDE
FAILED_LOGIN_ATTEMPTS
FIRST_VALUE (R)
FOLLOWING
GEOMCOLLECTION
GET_MASTER_PUBLIC_KEY
GROUPING (R)
GROUPS (R)
HISTOGRAM
HISTORY
INACTIVE
INVISIBLE
JSON_TABLE (R)
JSON_VALUE
LAG (R)
LAST_VALUE (R)
LATERAL (R)
LEAD (R)
LOCKED
MASTER_COMPRESSION_ALGORITHMS
MASTER_PUBLIC_KEY_PATH
MASTER_TLS_CIPHERSUITES
MASTER_ZSTD_COMPRESSION_LEVEL
MEMBER
NESTED
NETWORK_NAMESPACE
NOWAIT
NTH_VALUE (R)
NTILE (R)
NULLS
OF (R)
OFF
OJ
OLD
OPTIONAL
ORDINALITY
ORGANIZATION
OTHERS
OVER (R)
PASSWORD_LOCK_TIME
PATH
PERCENT_RANK (R)
PERSIST
PERSIST_ONLY
PRECEDING
PRIVILEGE_CHECKS_USER
PROCESS
RANDOM
RANK (R)
RECURSIVE (R)
REFERENCE
REPLICA
REPLICAS
REQUIRE_ROW_FORMAT
RESOURCE
RESPECT
RESTART
RETAIN
RETURNING
REUSE
ROLE
ROW_NUMBER (R)
SECONDARY
SECONDARY_ENGINE
SECONDARY_ENGINE_ATTRIBUTE
SECONDARY_LOAD
SECONDARY_UNLOAD
SKIP
SRID
STREAM
SYSTEM (R)
THREAD_PRIORITY
TIES
TLS
UNBOUNDED
VCPU
VISIBLE
WINDOW (R)
ZONE
'DBA > mysql' 카테고리의 다른 글
| Real Mysql 강의 소개 (0) | 2024.07.02 |
|---|---|
| mysql 5.7 binary 설치 1 (0) | 2023.08.21 |
| slow query 슬로우 쿼리 로그 설정 및 확인방법 (mysql, mariadb) (0) | 2023.06.12 |
| mysqld got signal 6 error / DB 재시작 에러 해결 1 (0) | 2023.05.04 |
| mysql stored procedure 내에서 NAME_CONST() 함수 사용으로 성능저하 문제 (0) | 2023.02.02 |
















































































