2016-07-14 69 views
0

我在一個爲了連接到SQL數據庫的環境中,首先需要創建一個將本地端口重定向到遠程機器的隧道。 我連接到不同的數據庫服務器,具體取決於隧道中的端口號。如何在MySql中唯一標識數據庫?

換句話說:我總是使用與localhost相同的參數連接到MySql。預先創建的隧道是我實際連接到的服務器的定義。

有幾個MySql服務器,都具有相同的模式(用於測試目的),我想知道我連接到哪個實際的數據庫(我的腳本無法訪問隧道參數)。

當我們創建一個新的數據庫時,是否有一個GUID或者歸因於它的東西?也許我可以通過查詢來檢索information_schema

回答

1

不,模式名稱是標識符。

您可能想要在每個MySQL實例上唯一地設置server_id。這是一個在您的MySQL實例的my.cnf文件中配置的範圍1到2的整數 -1。

http://dev.mysql.com/doc/refman/5.7/en/replication-options.html#option_mysqld_server-id

通常server_id被用來標記到二進制日誌中的變化,所以副本集不重播他們已經看到了變化。

但你可以閱讀任何SQL查詢的server_id

SELECT @@server_id; 

,並根據其價值,你就會知道你在哪個MySQL實例,假設你已經根據一些設計設置每個實例的server_id所以你會知道的。

+0

太棒了,正是我需要的! –