2011-12-27 26 views
15

Version vs số distrib của MySQL

mysql --version 

lệnh trong Linux shell tôi đã nhận như sau:

mysql Ver 14.12 Distrib 5.0.77, for redhat-linux-gnu (i686) using readline 5.1 

Số 5.0.77 rõ ràng là đề cập đến số phiên bản nổi tiếng của MySQL. Tôi nghi ngờ, 14.12 có nghĩa là gì? Tài liệu này có được giải thích ở mọi nơi không?

Trả lời

15

Ver đề cập đến phiên bản của mysql client dòng lệnh - những gì bạn đang envoking bằng cách gõ 'mysql'
distrib đề cập đến phiên bản máy chủ mysql khách hàng của bạn đã được xây dựng với . Điều này không bị nhầm lẫn với máy chủ mysql mà bạn đã kết nối, có thể lấy được với SELECT VERSION();

Máy khách mysql (những gì bạn đang nói) được phân phối với máy chủ, và AFAIK, không có cách nào dễ dàng tự xây dựng nó.

Tôi không thể tìm thấy bất kỳ tài liệu nào cho tài liệu này, do đó, nguồn là nguồn 'tài liệu' duy nhất của tài liệu.

Điểm dừng đầu tiên: client/mysql.cc: máy khách 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); 

Như bạn thấy, nó sử dụng các hằng số VER cho "14.12" và MYSQL_SERVER_VERSION cho "5.0.77"

Đâu là những hằng số định nghĩa ?, là câu hỏi.

VER được xác định gần đầu (dòng 51 trong nguồn của tôi) của máy khách/mysql.cc dưới dạng hằng số tại thời gian chạy.

const char *VER= "14.14"; 

Và tôi sẽ giả định, cập nhật bằng tay hoặc bằng quy trình đăng ký. Điều này rất có thể là phiên bản của 'client' vì nó nằm ngay trong mã máy khách.

MYSQL_SERVER_VERSION được định nghĩa trong include/mysql_version.h (dòng 12) được sử dụng cho cả client và server (mysql/mysqld)

#define MYSQL_SERVER_VERSION   "5.1.56" 

(nó thực sự thiết lập trong kịch bản cấu hình và thay thế trong lúc định cấu hình thời gian)

+0

Câu trả lời hoàn hảo. Cảm ơn rất nhiều! – grasshopper

+0

Cảm ơn ... Mặc dù nếu ai đó có thể tìm thấy tài liệu chính thức về điều này từ MySQL, tôi nghĩ rằng một liên kết đến đó là một câu trả lời tốt hơn so với spelunking mã. – FlipMcF