例如,
# mysql -V
mysql Ver 15.1 Distrib 10.3.37-MariaDB, for Linux (x86_64) using readline 5.1
我认为“Ver 15.1”是指 mysql 客户端的版本。但是为什么客户端会打印“Distrib 10.3.37-MariaDB”,而我认为这是 mysql 服务器的版本?考虑到客户端可以连接到不同版本的服务器,为什么它会显示特定版本?
答案1
mysql
输出中的所有内容mysql -V
都是 mysql 命令行客户端版本信息。它显示了版本和版本评论在构建二进制文件时设置。
Ver 15.1 Distrib 10.3.37-MariaDB,适用于 Linux (x86_64),使用 readline 5.1
这是为了客户。
MariaDB 命令行客户端的源代码 mysql
与 MariaDB 服务器包含在同一个源代码树中。构建 CLI 二进制文件时,它会使用具有特定主版本、次版本和补丁的库和代码进行构建版本与使用的 MariaDB(服务器)版本一致。因此,在这方面,预计您在客户端和服务器中看到的版本号相同。(当您同时从同一来源(无论是您的发行版的预编译包还是来自源代码)安装两者时)
您说的对,通常mysql
CLI 客户端都向后和向前兼容 MySQL 和 MariaDB 数据库服务器的旧版本和新版本。