Spec-Zone.ru › MariaDB

СОЗДАНИЕ СЕРВЕРА

Синтаксис

CREATE [OR REPLACE] SERVER [IF NOT EXISTS] server_name
    FOREIGN DATA WRAPPER wrapper_name
    OPTIONS (option [, option] ...)

option:
  { HOST character-literal
  | DATABASE character-literal
  | USER character-literal
  | PASSWORD character-literal
  | SOCKET character-literal
  | OWNER character-literal
  | PORT numeric-literal }

Описание

Это оператор создаёт определение сервера для использования с Spider, Connect, FEDERATED или FederatedX хранилищем. Оператор CREATE SERVER создаёт новую строку в таблице servers базы данных mysql. Этот оператор требует привилегии SUPER или, начиная с MariaDB 10.5.2, привилегии FEDERATED ADMIN.

Имя сервера (server_name) должно быть уникальной ссылкой на сервер. Определения серверов являются глобальными в рамках сервера, нет возможности квалифицировать определение сервера к конкретной базе данных. Имя сервера (server_name) имеет максимальную длину 64 символа (имена длиннее 64 символов обрезаются), и регистр не учитывается. Вы можете указать имя в виде строковой константы.

Имя обёртки (wrapper_name) можно указать в одинарных кавычках. Поддерживаемые значения:

  • mysql
  • mariadb (в MariaDB 10.3 и более поздних версиях)

Для каждого параметра необходимо указать либо строковую, либо числовую константу. Строковые константы — UTF-8, поддерживают максимальную длину 64 символа и по умолчанию содержат пустую строку. Строковые константы обрезаются до 64 символов. Числовые константы должны быть числом от 0 до 9999, значение по умолчанию — 0.

Примечание: параметр OWNER в настоящее время не применяется и не оказывает влияния на права собственности или работу создаваемого соединения сервера.

Оператор CREATE SERVER создаёт запись в таблице mysql.servers, которая в дальнейшем может использоваться с оператором CREATE TABLE при создании таблицы Spider, Connect, FederatedX или FEDERATED. Указанные параметры будут использованы для заполнения столбцов в таблице mysql.servers. Столбцы таблицы — Server_name, Host, Db, Username, Password, Port и Socket.

DROP SERVER удаляет ранее созданное определение сервера.

Оператор CREATE SERVER не записывается в бинарный журнал, независимо от используемого формата бинарного журнала. Начиная с MariaDB 10.1.13, Galera реплицирует операторы CREATE SERVER, ALTER SERVER и DROP SERVER.

Для допустимых идентификаторов, используемых в качестве имён серверов, см. Имена идентификаторов.

ЗАМЕНИТЬ

Если используется необязательная OR REPLACE фраза, она служит сокращением для:

DROP SERVER IF EXISTS name;
CREATE SERVER server_name ...;

ЕСЛИ НЕ СУЩЕСТВУЕТ

Если используется фраза IF NOT EXISTS, MariaDB вернёт предупреждение вместо ошибки, если сервер уже существует. Не может быть использована вместе с ЗАМЕНИТЬ.

Примеры

CREATE SERVER s
FOREIGN DATA WRAPPER mysql
OPTIONS (USER 'Remote', HOST '192.168.1.106', DATABASE 'test');

ЗАМЕНИТЬ и ЕСЛИ НЕ СУЩЕСТВУЕТ:

CREATE SERVER s 
FOREIGN DATA WRAPPER mysql 
OPTIONS (USER 'Remote', HOST '192.168.1.106', DATABASE 'test');
ERROR 1476 (HY000): The foreign server, s, you are trying to create already exists

CREATE OR REPLACE SERVER s 
FOREIGN DATA WRAPPER mysql 
OPTIONS (USER 'Remote', HOST '192.168.1.106', DATABASE 'test');
Query OK, 0 rows affected (0.00 sec)

CREATE SERVER IF NOT EXISTS s 
FOREIGN DATA WRAPPER mysql 
OPTIONS (USER 'Remote', HOST '192.168.1.106', DATABASE 'test');
Query OK, 0 rows affected, 1 warning (0.00 sec)

SHOW WARNINGS;
+-------+------+----------------------------------------------------------------+
| Level | Code | Message                                                        |
+-------+------+----------------------------------------------------------------+
| Note  | 1476 | The foreign server, s, you are trying to create already exists |
+-------+------+----------------------------------------------------------------+

См. также

  • Имена идентификаторов
  • ALTER SERVER
  • DROP SERVER
  • Spider Storage Engine
  • Connect Storage Engine
Содержимое, воспроизведённое на этом сайте, является собственностью соответствующих владельцев, и это содержимое не проверяется предварительно компанией MariaDB. Мнения, информация и мнения, выраженные в этом содержании, не обязательно отражают мнения MariaDB или любой другой стороны.

© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/create-server/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API