18.8.2.2 Создание таблицы FEDERATED с помощью CREATE SERVER
Если вы создаёте несколько FEDERATED таблиц на одном сервере или хотите упростить процесс создания FEDERATED таблиц, вы можете использовать оператор CREATE SERVER для определения параметров подключения к серверу, как и со строкой CONNECTION.
Формат оператора CREATE SERVER:
CREATE SERVER
server_name
FOREIGN DATA WRAPPER wrapper_name
OPTIONS (option [, option] ...)Значение server_name используется в строке подключения при создании новой FEDERATED таблицы.
Например, чтобы создать подключение к серверу, идентичное строке CONNECTION:
CONNECTION='mysql://fed_user@remote_host:9306/federated/test_table';Вы бы использовали следующий оператор:
CREATE SERVER fedlink
FOREIGN DATA WRAPPER mysql
OPTIONS (USER 'fed_user', HOST 'remote_host', PORT 9306, DATABASE 'federated');Чтобы создать FEDERATED таблицу, использующую это подключение, вы по-прежнему используете ключевое слово CONNECTION, но указываете имя, которое вы использовали в операторе CREATE SERVER.
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),
INDEX name (name),
INDEX other_key (other)
)
ENGINE=FEDERATED
DEFAULT CHARSET=utf8mb4
CONNECTION='fedlink/test_table';Имя подключения в этом примере содержит имя подключения (fedlink) и имя таблицы (test_table), к которой нужно подключиться, разделённые слешем. Если вы укажете только имя подключения без имени таблицы, вместо него будет использоваться имя локальной таблицы.
Для получения дополнительной информации об CREATE
SERVER, см. Раздел 15.1.19, «Оператор CREATE SERVER».
Оператор CREATE SERVER принимает те же аргументы, что и строка CONNECTION. Оператор CREATE SERVER обновляет строки в mysql.servers таблице. В следующей таблице приведена информация о соответствии между параметрами в строке подключения, параметрами в операторе CREATE
SERVER и столбцами в mysql.servers таблице. Для справки, формат строки CONNECTION следующий:
scheme://user_name[:password]@host_name[:port_num]/db_name/tbl_name
| Описание |
CONNECTION строка |
CREATE SERVER параметр |
mysql.servers столбец |
|---|---|---|---|
| Схема подключения | scheme | wrapper_name | Wrapper |
| Удаленный пользователь | user_name | USER | Username |
| Удаленный пароль | password | PASSWORD | Password |
| Удаленный хост | host_name | HOST | Host |
| Удаленный порт | port_num | PORT | Port |
| Удаленная база данных | db_name | DATABASE | Db |
© 2025 Oracle
Licensed under the GPLv2 License.