亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

MySQL連接指定端口后實際仍是3306的原因分析及解決方法

 更新時間:2025年07月04日 09:25:32   作者:XMYX-0  
在日常運維或開發(fā)過程中,有時我們在使用 mysql 命令行工具連接 MySQL 實例時,可能會遇到一個令人疑惑的問題,本以為連接的是監(jiān)聽在 3307 端口的 MySQL 實例,但登錄進去后執(zhí)行,實際連接的是3306 端口,而不是我們指定的端口,這是為什么?本文將為你詳細解答

MySQL 連接指定端口后,為什么實際仍是 3306?

在日常運維或開發(fā)過程中,有時我們在使用 mysql 命令行工具連接 MySQL 實例時,可能會遇到一個令人疑惑的問題:

mysql -u root -p -P 3307

本以為連接的是監(jiān)聽在 3307 端口的 MySQL 實例,但登錄進去后執(zhí)行:

SELECT @@hostname, @@port;

卻發(fā)現(xiàn):

+----------------+--------+
| @@hostname     | @@port |
+----------------+--------+
| your-hostname  | 3306   |
+----------------+--------+

也就是說,實際連接的是 3306 端口,而不是我們指定的 3307。這是為什么?本文將為你詳細解答。

問題現(xiàn)象復(fù)現(xiàn)

命令:

mysql -u root -p -P 3307

登錄成功后執(zhí)行:

SELECT @@port;

輸出結(jié)果卻是:

3306

這說明當(dāng)前連接的 MySQL 實例監(jiān)聽端口為 3306,而不是我們指定的 3307。

原因分析

沒有指定 -h,默認走的是本地 Unix Socket

MySQL 客戶端有兩種連接方式:

  • Unix Socket(本地文件方式),路徑一般是 /tmp/mysql.sock
  • TCP/IP(網(wǎng)絡(luò)方式)

當(dāng)你沒有指定 -h 參數(shù)時,例如:

mysql -u root -p -P 3307

MySQL 客戶端會默認使用 Unix Socket 方式連接本地 MySQL 實例,而不是 TCP 連接。

而本地默認的 Socket 通常連接的是 MySQL 默認端口 3306 的實例。這就解釋了為什么你看到的是 @@port = 3306。

提示:-P 端口號只在 TCP 連接中才會生效,Socket 連接時會被忽略。

多實例環(huán)境中未顯式指定目標地址

如果你在本機運行了多個 MySQL 實例(例如一個監(jiān)聽 3306,另一個監(jiān)聽 3307),但沒有明確指定連接主機地址,則默認連接的是 3306 監(jiān)聽的實例。

正確的連接方法

為了確保連接到指定端口上的實例,你需要強制使用 TCP 連接方式。

方法一:添加 -h 127.0.0.1

mysql -u root -p -P 3307 -h 127.0.0.1

指定主機地址為 127.0.0.1,客戶端就會使用 TCP 協(xié)議連接指定端口。

方法二:添加 --protocol=TCP

mysql -u root -p -P 3307 --protocol=TCP

這個參數(shù)顯式告訴 MySQL 客戶端使用 TCP 協(xié)議,而不是默認的 Socket。

驗證是否連接成功

進入 MySQL 后執(zhí)行以下命令驗證:

SELECT @@hostname, @@port, @@socket;

如果你看到的是:

+-------------+--------+----------------------+
| @@hostname  | @@port | @@socket             |
+-------------+--------+----------------------+
| localhost   | 3307   | NULL                 |
+-------------+--------+----------------------+

說明你成功通過 TCP 連接到了監(jiān)聽 3307 的實例。

附加說明

如果你使用 socket 配置了多個實例,可能存在多個 socket 文件,如:

# /etc/my.cnf
[mysqld]
port=3306
socket=/var/lib/mysql/mysql.sock

[mysqld_multi]
[mysqld1]
port=3306
socket=/var/lib/mysql/mysql.sock

[mysqld2]
port=3307
socket=/var/lib/mysql3307/mysql.sock

此時命令行客戶端也可以用 --socket 顯式連接對應(yīng)實例:

mysql -u root -p --socket=/var/lib/mysql3307/mysql.sock

總結(jié)

問題原因解決方法
未指定 -h,默認走本地 Socket,連接到了 3306 實例使用 -h 127.0.0.1 或 --protocol=TCP 強制使用 TCP 連接
本機有多個 MySQL 實例,未顯式指定主機或 socket 文件使用 --socket=路徑 或 TCP 方式連接指定端口

建議

以后如果你需要連接指定端口的 MySQL 實例,務(wù)必顯式指定 -h 參數(shù)或使用 --protocol=TCP,否則 -P 參數(shù)可能不會生效。

以上就是MySQL連接指定端口后實際仍是3306的原因分析及解決方法的詳細內(nèi)容,更多關(guān)于MySQL連接指定端口實際是3306的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Mysql5.5安裝配置方法及中文亂碼的快速解決方法

    Mysql5.5安裝配置方法及中文亂碼的快速解決方法

    這篇文章主要介紹了Mysql5.5安裝配置方法以及mysql5.5中文亂碼的快速解決方法,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-08-08
  • 體驗MySQL5.6.25并處理所遇到的問題

    體驗MySQL5.6.25并處理所遇到的問題

    本文給大家分享的是將mysql升級到5.6.25版本后所遇到的2個問題的處理解決辦法,有需要的小伙伴可以參考下。
    2015-07-07
  • mysql 8.0.18各版本安裝及安裝中出現(xiàn)的問題(精華總結(jié))

    mysql 8.0.18各版本安裝及安裝中出現(xiàn)的問題(精華總結(jié))

    這篇文章主要介紹了mysql 8.0.18各版本安裝及安裝中出現(xiàn)的問題,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-12-12
  • 詳解MySQL查看執(zhí)行慢的SQL語句(慢查詢)

    詳解MySQL查看執(zhí)行慢的SQL語句(慢查詢)

    查看執(zhí)行慢的SQL語句,需要先開啟慢查詢?nèi)罩?,MySQL的慢查詢?nèi)罩?,記錄在MySQL中響應(yīng)時間超過閥值的語句(具體指運行時間超過long_query_time值的SQL,本文給大家介紹MySQL查看執(zhí)行慢的SQL語句,感興趣的朋友跟隨小編一起看看吧
    2024-03-03
  • 在Linux系統(tǒng)安裝MySql步驟截圖詳解

    在Linux系統(tǒng)安裝MySql步驟截圖詳解

    本文給大家介紹的是linux系統(tǒng)下使用官方編譯好的二進制文件進行安裝MySql的安裝過程和安裝截屏,這種安裝方式速度快,安裝步驟簡單。需要的朋友可以參考下在Linux系統(tǒng)安裝MySql步驟截圖詳解
    2016-10-10
  • win10 安裝 mysql 5.7 msi版的教程圖文詳解

    win10 安裝 mysql 5.7 msi版的教程圖文詳解

    這篇文章主要介紹了win10 安裝 mysql 5.7 msi版的教程,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-05-05
  • Sql在單一表中檢索數(shù)據(jù)的方法詳解

    Sql在單一表中檢索數(shù)據(jù)的方法詳解

    這篇文章主要介紹了Sql在單一表中檢索數(shù)據(jù)的方法,SELECT語句是SQL中最常用的語句。它的用途是從一個或多個表中檢索信息。為了使用SELECT檢索表數(shù)據(jù),必須至少給出兩條信息:想選擇什么、從什么地方選擇
    2023-02-02
  • MySql中的IFNULL、NULLIF和ISNULL用法詳解

    MySql中的IFNULL、NULLIF和ISNULL用法詳解

    本文主要介紹了MySql中的IFNULL、NULLIF和ISNULL用法詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • Ubuntu10下如何搭建MySQL Proxy讀寫分離探討

    Ubuntu10下如何搭建MySQL Proxy讀寫分離探討

    MySQL Proxy是一個處于你的Client端和MySQL server端之間的簡單程序,它可以監(jiān)測、分析或改變它們的通信
    2012-11-11
  • Mysql遷移Postgresql的實現(xiàn)示例

    Mysql遷移Postgresql的實現(xiàn)示例

    本文主要介紹了Mysql遷移Postgresql的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03

最新評論