content_image/774018.jpg content_image/774020.jpg content_image/774019.jpg
## 16.8.2.1 Creating a FEDERATED Table Using CONNECTION 

<img src='content_image/774018.jpg'>

and subsequently executed locally. This reduces the network traffic that would otherwise request the entire table from the server for local processing. 

To use the first method, you must specify the CONNECTION  string after the engine type in a CREATE TABLE  statement. For example: 

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), INDEX name (name), INDEX other_key (other) ) ENGINE=FEDERATED DEFAULT CHARSET=utf8mb4 CONNECTION=’mysql://fed_user@remote_host:9306/federated/test_table’; 

<img src='content_image/774020.jpg'>

<img src='content_image/774019.jpg'>

## Note 

CONNECTION  replaces the COMMENT  used in some previous versions of MySQL. 

The CONNECTION  string contains the information required to connect to the remote server containing the table in which the data physically resides. The connection string specifies the server name, login credentials, port number and database/table information. In the example, the remote table is on the server remote_host , using port 9306. The name and port number should match the host name (or IP address) and port number of the remote MySQL server instance you want to use as your remote table. 

The format of the connection string is as follows: 

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

Where: 

• scheme : A recognized connection protocol. Only mysql  is supported as the scheme  value at this point. 

• user_name : The user name for the connection. This user must have been created on the remote server, and must have suitable privileges to perform the required actions ( SELECT , INSERT , UPDATE , and so forth) on the remote table. 

• password : (Optional) The corresponding password for user_name . 

• host_name : The host name or IP address of the remote server. 

• port_num : (Optional) The port number for the remote server. The default is 3306. 

• db_name : The name of the database holding the remote table. 

• tbl_name : The name of the remote table. The name of the local and the remote table do not have to match. 

Sample connection strings: 

CONNECTION=’mysql://username:password@hostname:port/database/tablename’ CONNECTION=’mysql://username@hostname/database/tablename’ CONNECTION=’mysql://username:password@hostname/database/tablename’ 

