欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MySQL獲取版本號的N種方法(全網(wǎng)最全以及避坑大全)

 更新時間:2024年10月29日 09:52:19   作者:TechCraftsman數(shù)據(jù)庫專欄  
相信大家在工作學(xué)習(xí)中經(jīng)常有需要查詢 MySQL 數(shù)據(jù)庫版本的情況,這里給大家介紹幾種在 MySQL 中查詢數(shù)據(jù)庫版本的方法以及每種方法適用的場景,相信總有一種可以幫到你,需要的朋友可以參考下

方法1:通過 SQL 查詢

如果可以連接上數(shù)據(jù)庫并且可以執(zhí)行 SQL,那么可以直接用 SQL 查看,下邊的兩種 SQL 都可以查詢出來版本號:

寫法1:

SELECT VERSION();

寫法2:

SELECT @@VERSION;

執(zhí)行 SQL 的查詢結(jié)果示例:

+------------+
| version()  |
+------------+
| 5.7.16-log |
+------------+

方法2:通過命令行

如果可以直接通過命令行連接到數(shù)據(jù)庫。

方法2.1:命令行剛連上數(shù)據(jù)庫時

在命令行使用 mysql 命令連接數(shù)據(jù)庫的時候,剛連上之后,從輸出的信息中可以看到數(shù)據(jù)庫的版本,示例:

> mysql -uroot -p
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 5
Server version: 5.7.16-log MySQL Community Server (GPL)

Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

其中 Server version: 5.7.16-log MySQL Community Server (GPL) 這一行我們就可以看出 MySQL 數(shù)據(jù)庫的版本。

方法2.2:使用 status 命令

如果我們已經(jīng)通過 mysql 命令連接上了數(shù)據(jù)庫,還可以通過 status 命令或者 \s 查看數(shù)據(jù)庫的版本信息以及數(shù)據(jù)庫的相關(guān)狀態(tài)。

示例1:

mysql> status
--------------
mysql  Ver 8.0.33 for Win64 on x86_64 (MySQL Community Server - GPL)  <--------------- 這里是 mysql 客戶端(命令行工具)的版本 

Connection id:          5
Current database:
Current user:           root@localhost
SSL:                    Not in use
Using delimiter:        ;
Server version:         5.7.16-log MySQL Community Server (GPL) <--------------- 這里才是 MySQL 服務(wù)端的版本
Protocol version:       10
Connection:             localhost via TCP/IP
Server characterset:    utf8
Db     characterset:    utf8
Client characterset:    utf8
Conn.  characterset:    utf8
TCP port:               3306
Uptime:                 2 hours 40 min 24 sec

Threads: 2  Questions: 213  Slow queries: 0  Opens: 111  Flush tables: 1  Open tables: 104  Queries per second avg: 0.022

示例2:

mysql> \s
--------------
mysql  Ver 8.0.33 for Win64 on x86_64 (MySQL Community Server - GPL)  <--------------- 這里是 mysql 客戶端(命令行工具)的版本 

Connection id:          5
Current database:
Current user:           root@localhost
SSL:                    Not in use
Using delimiter:        ;
Server version:         5.7.16-log MySQL Community Server (GPL) <--------------- 這里才是 MySQL 服務(wù)端的版本
Protocol version:       10
Connection:             localhost via TCP/IP
Server characterset:    utf8
Db     characterset:    utf8
Client characterset:    utf8
Conn.  characterset:    utf8
TCP port:               3306
Uptime:                 2 hours 40 min 24 sec

Threads: 2  Questions: 213  Slow queries: 0  Opens: 111  Flush tables: 1  Open tables: 104  Queries per second avg: 0.022

擴(kuò)展:方法3:通過 version_comment 辨別開源版本和魔改版本

SHOW VARIABLES LIKE 'version_comment';

這個方法實際上查看的是 MySQL 的版本備注信息。

示例:

+-----------------+------------------------------+
| Variable_name   | Value                        |
+-----------------+------------------------------+
| version_comment | MySQL Community Server (GPL) |
+-----------------+------------------------------+

version_comment 實際上是數(shù)據(jù)庫的一個全局變量,對于開源社區(qū)版本來說,這個變量的值都是一樣的。但是有一些基于 MySQL 開發(fā)或者和 MySQL 兼容的數(shù)據(jù)庫,當(dāng)需要和 MySQL 進(jìn)行區(qū)分的時候,就可以根據(jù)這個全局變量來區(qū)分。

比如 TiDB 數(shù)據(jù)庫執(zhí)行之后查詢出來的結(jié)果示例:

TiDB Server (Apache License 2.0) Community Edition, MySQL 5.7 compatible

StarRocks 數(shù)據(jù)庫執(zhí)行之后查詢出來的結(jié)果示例:

StarRocks version 3.0.3

擴(kuò)展:方法4:查看所有和版本相關(guān)的信息

前邊我們介紹了通過全局變量 version_comment 查看 MySQL 具體的編譯版本的方法,那么你是否會想?MySQL 中和版本相關(guān)的信息還有別的嗎?接下來就介紹一種方法,教你把全局變量中和版本相關(guān)的信息一網(wǎng)打盡。

執(zhí)行下邊這個 SQL 可以查看所有變量名稱中帶有 version 的變量。

SHOW GLOBAL VARIABLES LIKE '%version%';

執(zhí)行后的示例結(jié)果:

+-------------------------+------------------------------+
| Variable_name           | Value                        |
+-------------------------+------------------------------+
| innodb_version          | 5.7.16                       |
| protocol_version        | 10                           |
| slave_type_conversions  |                              |
| tls_version             | TLSv1,TLSv1.1                |
| version                 | 5.7.16-log                   |
| version_comment         | MySQL Community Server (GPL) |
| version_compile_machine | x86_64                       |
| version_compile_os      | Win64                        |
+-------------------------+------------------------------+

全網(wǎng)糾錯

糾錯1:mysql --help 或者 mysql -V 方式

有的文章會教你用 mysql --help 或者 mysql -V 或 mysql --version 的方式查看數(shù)據(jù)庫版本。

但是這種方式,實際上查看的是 mysql 客戶端(命令行工具)的版本,而不是 MySQL 數(shù)據(jù)庫服務(wù)端的版本。

糾錯2:通過 rpm 等包管理工具查看版本

有的文章會教你使用 rpm -qa | grep mysql 這種方式查看服務(wù)器安裝的版本。

這種方法的限制條件在于:

(1)這種方法只能在安裝 MySQL 數(shù)據(jù)庫的服務(wù)器上執(zhí)行。

(2)僅適用于使用 rpm 包管理工具的部分 Linux 操作系統(tǒng)

這種方法可能的坑點在于:

服務(wù)器上實際運行的 MySQL 和包管理工具查詢出來的可能并不是同一個 SQL。因為這種方法查詢出來的僅僅是通過包管理工具安裝的 SQL 的版本。但是實際運行的 MySQL 有可能是通過壓縮包離線安裝的并不是通過包管理工具安裝的,這種情況下服務(wù)器上可能同時有多種版本的 MySQL。甚至有可能是通過 docker 等虛擬化軟件運行的,所以要避免被這種情況給誤導(dǎo)了。

后記

為什么要寫這篇文章?大家在工作生活中遇到的場景總是紛繁復(fù)雜的,即使是簡單的問題也往往會有一些坑點,也往往是這種坑點,讓人稍不注意就會繞了彎路,比如上邊使用 status 命令的時候,同時輸出了客戶端和服務(wù)端版本,不注意的話就容易看錯。本文正是希望把一個簡單場景梳理清楚,同時把坑點給說清楚,讓大家在工作學(xué)習(xí)中遇到類似場景的時候少走彎路,希望對大家有幫助。

以上就是MySQL獲取版本號的N種方法(全網(wǎng)最全以及避坑大全)的詳細(xì)內(nèi)容,更多關(guān)于MySQL獲取版本號的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • mysql執(zhí)行計劃介紹

    mysql執(zhí)行計劃介紹

    下面我簡單講講mysql的執(zhí)行計劃,只列出了一些常見的情況,希望對大家有所幫助
    2013-11-11
  • Mysql數(shù)據(jù)庫綠色版安裝教程 解決系統(tǒng)錯誤1067的方法

    Mysql數(shù)據(jù)庫綠色版安裝教程 解決系統(tǒng)錯誤1067的方法

    這篇文章主要為大家詳細(xì)介紹了MySql數(shù)據(jù)庫綠色版安裝教程,以及系統(tǒng)錯誤1067的解決方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • SQL去重的3種實用方法總結(jié)

    SQL去重的3種實用方法總結(jié)

    SQL去重是數(shù)據(jù)分析工作中比較常見的一個場景,下面這篇文章主要給大家介紹了關(guān)于SQL去重的3種實用方法的相關(guān)資料,文中通過圖文以及實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-10-10
  • mysql隨機(jī)抽取一定數(shù)量的記錄實例講解

    mysql隨機(jī)抽取一定數(shù)量的記錄實例講解

    在本篇文章里小編給大家整理的是關(guān)于mysql隨機(jī)抽取一定數(shù)量的記錄實例相關(guān)知識點,有需要的朋友們可以學(xué)習(xí)下。
    2019-09-09
  • Windows下Mysql啟動報1067的解決方法

    Windows下Mysql啟動報1067的解決方法

    這篇文章主要為大家詳細(xì)介紹了Windows下Mysql啟動報1067的解決方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-10-10
  • 淺談MySQL數(shù)據(jù)同步到 Redis 緩存的幾種方法

    淺談MySQL數(shù)據(jù)同步到 Redis 緩存的幾種方法

    本文主要介紹了淺談MySQL數(shù)據(jù)同步到 Redis 緩存的幾種方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • 深入理解Mysql事務(wù)隔離級別與鎖機(jī)制問題

    深入理解Mysql事務(wù)隔離級別與鎖機(jī)制問題

    MySQL默認(rèn)的事務(wù)隔離級別是可重復(fù)讀,用Spring開發(fā)程序時,如果不設(shè)置隔離級別默認(rèn)用MySQL設(shè)置的隔離級別,如果Spring設(shè)置了就用已設(shè)置的隔離級別,本文重點給大家介紹Mysql事務(wù)隔離級別與鎖機(jī)制的相關(guān)知識,一起看看吧
    2021-09-09
  • 解讀SQL中GROUP BY和HAVING子句中使用NULL條件問題

    解讀SQL中GROUP BY和HAVING子句中使用NULL條件問題

    在使用SQL進(jìn)行數(shù)據(jù)查詢時,可能會遇到查詢結(jié)果為空的情況,這通常與GROUP BY和HAVING子句的使用有關(guān),尤其是在處理包含NULL值的字段時,當(dāng)使用GROUP BY進(jìn)行數(shù)據(jù)分組,并在HAVING子句中直接判斷字段是否為NULL時
    2024-10-10
  • MySql安裝及登錄詳解

    MySql安裝及登錄詳解

    這篇文章主要介紹了MySql安裝及登錄詳解,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2017-03-03
  • 解決Windows安裝mysql時提示MSVCR120.DLL動態(tài)庫缺失問題

    解決Windows安裝mysql時提示MSVCR120.DLL動態(tài)庫缺失問題

    在Windows Server 2012系統(tǒng)上安裝MySQL 5.7時遇到“由于找不到MSVCR120.dll,無法繼續(xù)執(zhí)行代碼”的錯誤,原因是系統(tǒng)缺少部分配置文件,解決方法是下載并安裝vcredist文件
    2025-02-02

最新評論