Mysql
MySQL - 在另一台伺服器上執行 SELECT 語句而不定義表結構
在 MySQL 中,只要我在本地定義了相同的表結構,我就可以使用聯合表查詢另一台伺服器上的資訊。
然而,在 MS SQL Server 中,我可以針對連結伺服器執行任何 SQL 語句。是否可以在 MySQL 中做同樣的事情?
“連結伺服器”連接與 MySQL 客戶端定義的任何其他連接有何不同?
然而,在 MS SQL Server 中,我可以針對連結伺服器執行任何 SQL 語句。是否可以在 MySQL 中做同樣的事情?
也許我錯過了一些東西,但是是的,只需建立一個連接。
mysql -u <user> -p <password> -D <database> -H 127.0.0.1
import MySQLdb db = MySQLdb.connect(host="localhost", user="<user>", passwd="<password>", db="<database>")
您甚至可以使用 SSH 設置反向隧道。
mysql -u <user> -p <password> -D <database> -H 127.0.0.1 -P 33061
除此之外,
FEDERATED
桌子是壁櫥裡的東西。我肯定錯過了什麼。
TL; 博士;不,你不能。
–
如果不使用 FEDERATED,就不能對遠端伺服器表執行任意 SQL。看到這個回复。
雖然,我沒有看到在本地定義表的問題,特別是如果你想在生產中使用它。事先閱讀 FEDERATED 引擎的限制。
如果涉及多個表,請使用指向本範例
CREATE SERVER
中指定的“伺服器/表”的then子句。使用它,您可以使在本地創建表的過程更容易一些。此外,您可以一次創建一個包含您需要的所有表的平面 SQL 文件,然後使用添加的內容維護該文件。不是最舒服,卻是最有條理的方式。CONNECTION