СОЗДАНИЕ СЕРВЕРА
Синтаксис
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 | +-------+------+----------------------------------------------------------------+
См. также
© 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/