기본 콘텐츠로 건너뛰기

ProxySQL 에서 Unknown system variable 'query_cache_size' 오류

ProxySQL을 쓸 때, MySQL 프로토콜을 여러모로 흉내내는데, 이때, 기본 서버 버전을 5.5.30 으로 두고 있다.

아마 MySQL 5.x 버전을 사용하는 부분을 고려해서 그런 듯 한데, MySQL 8.x 버전을 사용하면 문제가 발생한다.

JDBC Driver가 MySQL 서버 프로토콜 버전이 8.0.3 이하이면, query_cache_size 시스템 변수를 설정하려고 하는데, MySQL 8에서 해당 시스템 변수를 삭제하였기 때문에, 오류가 발생한다.

만약 MySQL도 8.x이고, JDBC Driver도 8.x를 사용한다면, ProxySQL 설정에 버전을 8.0.4로 설정하거나, ProxySQL 전역 변수를 업데이트 한다.

proxysql.cnf 파일

mysql_variables=
{
  #server_version="5.5.30"
  server_version="8.0.4"
}
또는 관리포트로 진입하여 아래와 같이 업데이트한다.
UPDATE global_variables SET variable_value="8.0.4" WHERE variable_name='mysql-server_version';
LOAD MYSQL VARIABLES TO runtime;
SAVE MYSQL VARIABLES TO disk;

참조: https://www.tusacentral.net/joomla/index.php/mysql-blogs/198-proxysql-server-version-impersonation.html


ttps://www.tusacentral.net/joomla/index.php/mysql-blogs/198-proxysql-server-version-impersonation.html

댓글

이 블로그의 인기 게시물

설치한 패키지에서 RPM 추출하기

오래된 패키지를 관리할 저장소가 없어졌고, 기존 패키지로 다른 서버를 세팅해야할 일이 생겼다면 RPM의 리패키지 기능을 이용해보자. $ rpm -e --repackage [PACKAGE_NAME] 위와 같이 리패키지하면, /var/spool/repackage/ 에 생성한 RPM파일이 있다. :-)

Winget 해시 무시하기

가끔씩 Winget 에서 패키지를 다운로드 했을 때, "설치 관리자 해시가 일치하지 않습니다." 오류가 뜰 때가 있다. 보안 이슈가 있지만, 그냥 무시하고 싶을 때, 아래 순서로 무시해준다. 관리자 권한 winget settings --enable InstallerHashOverride 설치 winget install --ignore-security-hash --id NirSoft.NirCmd