如何使用FEDERATED表

2021-05-22 22:57:21 字數 1899 閱讀 4407

15.7.3. 如何使用federated表

使用federated表的步驟是非常簡單的。通常,你執行兩個伺服器,要麼在同乙個主機上,要麼在不同主機上。(乙個federated表使用其它被同一伺服器管理的表也是可能的。雖然只有極少的點要這麼做)。

首先,你必須在你想要用federated表訪問的遠端伺服器上有乙個表。假設,遠端的表在federated資料庫中並且被如下定義:

create table test_table (

id int(20) not null auto_increment,

name varchar(32) not null default '',

other int(20) not null default '0',

primary key (id),

key name (name),

key other_key (other)

)engine=myisam

default charset=latin1;

engine表選項可能命名任何儲存引擎,該錶需要不是乙個myisam表。

接著,在本地伺服器上為訪問遠端表建立乙個federated表:

create table federated_table (

id int(20) not null auto_increment,

name varchar(32) not null default '',

other int(20) not null default '0',

primary key (id),

key name (name),

key other_key (other)

)engine=federated

default charset=latin1

connection='mysql://root@remote_host:9306/federated/test_table';

(注意: connection 替代 用在先前版本的mysql裡的comment)。

除了engine表選項應該是federated,並且connection表選項是給federated指明如何連線到遠端伺服器上的連線字串之外,這個表的結構必須完全與遠端表的結構相同。

federated引擎僅建立在已聯盟資料庫中的test_table.frm檔案。

遠端主機資訊指明本地伺服器要連線到的遠端伺服器,資料庫和表資訊指明哪乙個遠端表要被作為資料檔案來用。在這個例子中。遠端伺服器被指定來作為遠端主機在9306埠上執行,所以你要啟動伺服器,讓它監聽9306埠。

在connection選項中的連線字串的一般形式如下:

scheme://user_name[:password]@host_name[:port_num]/db_name/tbl_name

只有mysql在這一點被支援為scheme,密碼和埠號時可選的。

這裡有一些連線字串的例子:

connection='mysql://username:password@hostname:port/database/tablename'

connection='mysql://username@hostname/database/tablename'

connection='mysql://username:password@hostname/database/tablename'

為指定連線字串使用connection是非可選,並且在將來可能會改變。當你使用federated表的時候,要記得這個,因為這意味著當將來發生那種改變之時,可能被要求。

因為任何被用的密碼作為純文字被存在連線字串中,它可以被任何使對federated表使用show create table或show table status的使用者,或者在information_schema資料庫中查詢tables表的使用者看見。

SQL Server如何使用表變數

參考前乙個例項使用output儲存更新記錄前後資料 改用乙個表變數來實現。首先定義乙個表變數 declare salaryreport table memberid int name nvarchar 100 oldsalary decimal 18,6 newsalary decimal 18,6...

mysql表如何使用redis儲存?

userid username password email 9lisi 111111 lisi 163.com 127.0.0.1 6379 set user userid 9 username lisi ok127.0.0.1 6379 set user userid 9 password 11...

如何使用C 編寫雙向鍊錶

前幾日我朋友跟我吐槽c 的陣列往上追溯並處理資料不方便,然後我就想起了我很久沒用過鍊錶,因此今天下午抽了點時間寫了乙個雙向鍊錶以後想用的時候自己可以拿來用,這裡我寫的是尾插法,如果忽略tail節點,它還是個迴圈雙向鍊錶。鍊錶與陣列不一樣,陣列能快速查詢資料,但是插入和刪除不方便,而鍊錶在指定位置插入...