MySQL 버전 대 배포 번호
타이핑하기
mysql --version
리눅스 셸에서 명령어를 사용하면 다음을 얻을 수 있는 것은 다음과 같습니다.
mysql Ver 14.12 Distrib 5.0.77, for redhat-linux-gnu (i686) using readline 5.1
5.0.77이라는 숫자는 MySQL의 알려진 버전 번호를 의미합니다.14.12가 무슨 뜻입니까?
문서화된/설명된 곳이 있습니까?
Ver는 'mysql'을 입력하여 호출하는 mysql 명령줄 클라이언트의 버전을 나타냅니다.
배포는 클라이언트가 구축한 mysql 서버 버전을 나타냅니다.이것은 당신이 연결되어 있는 mysql 서버와 혼동해서는 안되며, 이 서버는 다음과 같이 얻을 수 있습니다.SELECT VERSION();
mysql 클라이언트(당신이 호출하는 것)는 서버와 함께 배포되며, AFAIK, 자체적으로 구축하는 쉬운 방법이 없습니다.
저도 이에 대한 문서를 찾을 수 없어서 문서의 유일한 '출처'는 출처입니다.
첫 번째 중지: client/mysql.cc : mysql 클라이언트입니다.
static void usage(int version)
{
...
printf("%s Ver %s Distrib %s, for %s (%s) using %s %s\n",
my_progname, VER, MYSQL_SERVER_VERSION, SYSTEM_TYPE, MACHINE_TYPE,
readline, rl_library_version);
보시다시피 "14.12"의 경우 상수 VER을 사용하고 "5.0.77"의 경우 MYSQL_SERVER_VERSION을 사용합니다.
문제는 이 상수들이 어디서 정의되는가 하는 것입니다.
VER는 실행 시 상수로 클라이언트/mysql.cc 의 맨 위(내 소스의 51번 행) 근처에서 정의됩니다.
const char *VER= "14.14";
그리고 저는 수기나 체크인 절차를 통해 업데이트 될 것이라고 생각합니다.이것은 클라이언트 코드에 바로 있기 때문에 '클라이언트'의 버전일 가능성이 매우 높습니다.
MYSQL_SERVER_VERSION은 클라이언트와 서버(mysql / mysqld)에 모두 사용되는 include/mysql_version.h(12행)에 정의되어 있습니다.
#define MYSQL_SERVER_VERSION "5.1.56"
(실제로 구성 스크립트에 설정되어 구성 시간에 대체됩니다.)
언급URL : https://stackoverflow.com/questions/8645184/version-vs-distrib-number-of-mysql
'programing' 카테고리의 다른 글
중앙의 이미지 정렬을 위한 CSS (0) | 2023.09.19 |
---|---|
sequelize에서 mysql 연결 확인 (0) | 2023.09.19 |
하위 쿼리는 Windows에서 작동하지 않지만 Linux에서는 작동합니다. (0) | 2023.09.19 |
MySQL - Char와 Varchar의 차이점은? (0) | 2023.09.19 |
시스템 재시작 시 영원히(노드) 자동 시작 (0) | 2023.09.19 |