最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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';

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

示例:

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

version_comment 實(shí)際上是數(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ù)庫版本。

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

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

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

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

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

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

這種方法可能的坑點(diǎn)在于:

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

后記

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

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

相關(guān)文章

  • Windows安裝MySQL8.0.x 版本教程

    Windows安裝MySQL8.0.x 版本教程

    這篇文章介紹了Windows安裝MySQL8.0.x 版本的方法,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-04-04
  • MySQL 創(chuàng)建三張關(guān)系表實(shí)操

    MySQL 創(chuàng)建三張關(guān)系表實(shí)操

    這篇文章主要介紹了MySQL 創(chuàng)建三張關(guān)系表實(shí)操,文章說先創(chuàng)建學(xué)生表然后科目表和分?jǐn)?shù)表三張有著密切關(guān)系的表,下文實(shí)操分享需要的小伙伴可以參考一下
    2022-03-03
  • mysql常用命令大全 mysql常用命令總結(jié)

    mysql常用命令大全 mysql常用命令總結(jié)

    本文介紹下,mysql中常用的一些命令,包括創(chuàng)建與修改數(shù)據(jù)庫、數(shù)據(jù)庫中的表,mysql的權(quán)限管理命令grant、revoke等的用法。有需要的朋友參考下
    2014-01-01
  • MySQL更新存放JSON的字段、\“ 轉(zhuǎn)義成 “的問題描述

    MySQL更新存放JSON的字段、\“ 轉(zhuǎn)義成 “的問題描述

    本篇介紹在執(zhí)行MySQL線上變更時遇到的問題,表現(xiàn)為"更新JSON字段時,實(shí)際更新的值與SQL語句中的值不一致,JSON格式錯誤",本文給大家分享問題描述及解決方案,感興趣的朋友一起看看吧
    2022-12-12
  • MySQL慢查詢以及重構(gòu)查詢的方式記錄

    MySQL慢查詢以及重構(gòu)查詢的方式記錄

    MySQL的慢查詢,全名是慢查詢?nèi)罩?是MySQL提供的一種日志記錄,用來記錄在MySQL中響應(yīng)時間超過閥值的語句,這篇文章主要給大家介紹了關(guān)于MySQL慢查詢以及重構(gòu)查詢的相關(guān)資料,需要的朋友可以參考下
    2021-06-06
  • 淺談MySQL中drop、truncate和delete的區(qū)別

    淺談MySQL中drop、truncate和delete的區(qū)別

    在MySQL中,drop、delete和truncate是用來刪除表中數(shù)據(jù)或整個表的命令,本文主要介紹了MySQL中drop、truncate和delete的區(qū)別,具有一定的參考價值,感興趣的可以了解一下
    2025-05-05
  • 關(guān)于數(shù)據(jù)庫中的查詢優(yōu)化

    關(guān)于數(shù)據(jù)庫中的查詢優(yōu)化

    這篇文章主要介紹了關(guān)于數(shù)據(jù)庫中的查詢優(yōu)化,對于大型的應(yīng)用系統(tǒng),數(shù)據(jù)動輒上百萬,就需要了解DBMS對查詢語句的處理過程和優(yōu)化算法,更好的利用其優(yōu)化算法,以提高系統(tǒng)的性能,需要的朋友可以參考下
    2023-07-07
  • MySQL刪除表數(shù)據(jù)與MySQL清空表命令的3種方法淺析

    MySQL刪除表數(shù)據(jù)與MySQL清空表命令的3種方法淺析

    刪除現(xiàn)有MySQL表非常容易,但是刪除任何現(xiàn)有的表時要非常小心,因?yàn)閯h除表后丟失的數(shù)據(jù)將無法恢復(fù),下面這篇文章主要給大家介紹了關(guān)于MySQL刪除表數(shù)據(jù)與MySQL清空表命令的3種方法的相關(guān)資料,需要的朋友可以參考下
    2022-08-08
  • mysql主鍵和唯一鍵的使用與區(qū)別

    mysql主鍵和唯一鍵的使用與區(qū)別

    本文主要介紹了mysql主鍵和唯一鍵的使用與區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2026-02-02
  • mysql數(shù)據(jù)遷移到Oracle的正確方法

    mysql數(shù)據(jù)遷移到Oracle的正確方法

    這篇文章主要為大家詳細(xì)介紹了mysql數(shù)據(jù)遷移到Oracle的正確方法,文中步驟介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-02-02

最新評論

武隆县| 宁津县| 镇江市| 河北区| 勃利县| 大洼县| 深泽县| 红河县| 海口市| 鹤岗市| 萨嘎县| 昌黎县| 成安县| 松滋市| 绥德县| 英吉沙县| 海城市| 双江| 常宁市| 肇庆市| 清水河县| 黑山县| 浦江县| 建德市| 淮阳县| 阿坝县| 太康县| 虎林市| 澎湖县| 昌吉市| 隆德县| 黄平县| 长寿区| 深圳市| 长宁区| 武陟县| 静安区| 清远市| 绥德县| 磐安县| 罗田县|