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;
댓글
댓글 쓰기