Support for MySQL 8.0
ProxySQL은 MySQL 8.0을 완전히 지원하지만 버전 2.0.2 이전에는 몇 가지 제한 사항이 있습니다.
- MySQL 8.0.4부터 MySQL 서버의 기본 인증 플러그인이 mysql_native_password에서 caching_sha2_password 로 변경 되었습니다 . ProxySQL은 아직 caching_sha2_password 를 지원하지 않습니다. 이러한 이유로 mysql_native_password로 MySQL 서버를 구성해야 합니다. ProxySQL 2.0.2 이전 버전을 사용하는 경우 자세한 내용은 문서 를 참조하십시오.
- ProxySQL 은 caching_sha2_password 인증 플러그인을 사용하는 클라이언트가 연결을 시도하는 경우 (프론트엔드 연결 및 Admin에 대한 연결)을 허용하지 않습니다. 클라이언트가 MySQL 8.0의 libmysqlclient(기본값 caching_sha2_password)를 사용하는 경우 명시적으로 mysql_native_password 을 사용해야 합니다. 섹션에서 지정 하거나 명령줄에서 지정할 수 있습니다.
특별히 my.cnf 파일에 [mysql] 이나 [client] 구역에 default-auth=mysql_native_password 로 설정하거나 명령줄에 사용할 수 있습니다.
예를 들어, 관리자에 연결하려면:
mysql --default-auth=mysql_native_password -h 127.0.0.1 -P6032 -u admin -padmin
위의 두 참고 사항은 2.0.2보다 최신 ProxySQL의 최신 버전에 대해 더 이상 유효하지 않습니다.
그러나 백엔드에서 사용자가 caching_sha2_password 를 사용하도록 구성된 경우 mysql_users.password 안의 암호는 일반 텍스트(해시되지 않음)여야 하며 관리 변수 admin-hash_passwords를 false 로 설정해야 합니다.
Although, if on the backend the user is configured to use caching_sha2_password, passwords in mysql_users.password need to be in clear text (not hashed), and admin variable admin-hash_passwords needs to be set to false
데이터 정렬 문제
버전 2.0.16/2.1.1 이전에는 클라이언트가 utf8mb4_0900_ai_ci연결 핸드셰이크 중에 데이터 정렬을 사용하여 ProxySQL에 연결하는 경우 ProxySQL이 utf8mb4_general_ci백엔드에 연결할 때 데이터 정렬을 잘못 사용합니다.
이는 ProxySQL의 경우 문자 집합에 대한 기본 데이터 정렬이 다음과 같기 때문입니다 utf8mb4. utf8mb4_general_ci이것은 8.0.1 이전의 MySQL과 MariaDB(아직 데이터 정렬을 지원하지 않음 utf8mb4_0900_ai_ci)에 해당합니다.
버전 2.0.16/2.1.1부터 ProxySQL은 utf8mb4_0900_ai_ci 클라이언트가 데이터 정렬을 지정한 경우 데이터 정렬을 올바르게 사용하여 백엔드에 연결합니다 .
그러나 백엔드가 클라이언트별 데이터 정렬을 지원하지 않는 경우 백엔드 연결은 백엔드의 기본 데이터 정렬을 사용합니다.
'2023' 카테고리의 다른 글
ProxySQL - 백엔드 서버 구성 (0) | 2023.01.19 |
---|---|
ProxySQL 초기 설정 (0) | 2023.01.18 |
ProxySQL - Global Variables (글로벌 변수) (0) | 2023.01.18 |
ProxySQL Configuration file (구성 파일) (0) | 2023.01.17 |
ProxySQL - 다중 계층 구성 시스템 (0) | 2023.01.17 |