mysql許可長途銜接的辦法。本站提示廣大學習愛好者:(mysql許可長途銜接的辦法)文章只能為提供參考,不一定能成為您想要的結果。以下是mysql許可長途銜接的辦法正文
1、概述
本文重要引見經由過程federated存儲引擎樹立長途銜接表
測試情況:mysql 5.6.21
2、步調
開啟federated存儲引擎
先檢查federated存儲引擎存儲引擎能否啟用
SHOW ENGINES ;
默許mysql是沒有開啟federated存儲引擎,我這裡由於曾經設置裝備擺設了。
開啟federated存儲引擎只須要在my.cnf文件中增長‘federated'便可以。
創立長途銜接表
mysql設置裝備擺設長途銜接必需在當地創立federated存儲引擎的表,設置裝備擺設長途銜接參數,當地創立的表必需和長途表的界說堅持分歧,這裡我就拿當地另外一個案例數據庫來做測試,後果和長途是一樣。
show create table sakila.actor;
創立長途存儲引擎表
CREATE TABLE FEDERATED_actor ( `actor_id` smallint(5) unsigned NOT NULL AUTO_INCREMENT, `first_name` varchar(45) NOT NULL, `last_name` varchar(45) NOT NULL, `last_update` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (`actor_id`), KEY `idx_actor_last_name` (`last_name`) ) ENGINE =FEDERATED CONNECTION='mysql://root:[email protected]:3306/sakila/actor';
留意:當地創立的表界說要和長途表分歧,當地存儲引擎選擇:ENGINE =FEDERATED
CONNECTION選項中的銜接字符串的普通情勢以下:scheme://user_name[:password]@host_name[:port_num]/db_name/tbl_name
還有一些銜接字符串的例子:
CONNECTION='mysql://username:password@hostname:port/database/tablename'
CONNECTION='mysql://username@hostname/database/tablename'
CONNECTION='mysql://username:password@hostname/database/tablename'
留意:設置裝備擺設暗碼作為純文本的話會存在平安成績,運轉show create table,show table status是可以見的
SELECT * FROM test.federated_actor;
更新當地表
USE test; update federated_actor set last_name='GUINESS1' where actor_id=1; SELECT * FROM test.federated_actor; SELECT * FROM sakila.actor;
對當地停止更新操作,當地和長途的數據都被更改了。
增長字段
alter table federated_actor add column idtest INT DEFAULT 0;
Error Code: 1031. Table storage engine for 'federated_actor' doesn't have this option
federated存儲引擎不支撐alter table 操作
刪除表
drop table test.federated_actor;
刪除當地表對長途表無影響
3、總結
federated存儲引擎就是mysql用來處理類型於其它數據庫體系的dblink功效,然則設置裝備擺設federated絕對來講費事一點,還須要在當地創立表,同時也存在平安方面的身分,整體來講該功效避照樣許多,願望mysql在後續版天性有所改良。
以上就是本文的全體內容,願望對年夜家的進修有所贊助。