18.8.2.1 Создание таблицы FEDERATED с использованием CONNECTION
Для использования первого метода необходимо указать строку CONNECTION после типа движка в инструкции CREATE TABLE. Например:
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';
CONNECTION заменяет COMMENT, используемый в некоторых предыдущих версиях MySQL.
Строка CONNECTION содержит информацию, необходимую для подключения к удаленному серверу, на котором физически хранятся данные таблицы. Строка подключения указывает имя сервера, учетные данные для входа, номер порта и информацию о базе данных/таблице. В примере удаленная таблица находится на сервере remote_host, используя порт 9306. Имя и номер порта должны совпадать с именем хоста (или IP-адресом) и номером порта экземпляра удаленного сервера MySQL, который вы хотите использовать как удалённую таблицу.
Формат строки подключения следующий:
scheme://user_name[:password]@host_name[:port_num]/db_name/tbl_name
Где:
scheme: Признанный протокол подключения. На данный момент поддерживается толькоmysqlв качестве значенияscheme.user_name: Имя пользователя для подключения. Этот пользователь должен быть создан на удалённом сервере и иметь соответствующие привилегии для выполнения необходимых действий (SELECT,INSERT,UPDATEи т. д.) с удалённой таблицей.password: (Необязательно) Соответствующий пароль дляuser_name.host_name: Имя хоста или IP-адрес удалённого сервера.port_num: (Необязательно) Номер порта удалённого сервера. По умолчанию 3306.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'
© 2025 Oracle
Licensed under the GPLv2 License.