2017-02-17 2 views
1

Моего дб паролем является Dhanu @ 1 содержит @,создание федеративного MySQL таблица с именем пользователя паролем и хостом

При создании FEDERATED таблицы, я получаю сообщение об ошибке, как

не могу создать federeted таблицы. Строка подключения источника данных mysql://dhanu:[email protected]@localhost:3306/mydb/items не в правильном формате

Пожалуйста, помогите!

ответ

1

Использование символов как у этих @ не предлагается в паролях, и аналогичное обсуждение по этой проблеме доступно here.

Вы можете работать вокруг вышеуказанного ограничения при использовании CREATE SERVER заявление, как показано в следующем примере:

CREATE SERVER federatedTablelink 
FOREIGN DATA WRAPPER mysql 
OPTIONS (USER 'USERNAME', HOST 'Host_IP', DATABASE 'DB_NAME', 
PORT '3306',Password 'PASSWORD'); 

После того, как сервер Link создается с помощью шага выше, вы можете использовать следующие действия для создания таблицы, использует это соединение:

CREATE TABLE test (
id  INT(20) NOT NULL AUTO_INCREMENT, 
name VARCHAR(32) NOT NULL DEFAULT '', 
PRIMARY KEY (id), 
INDEX name (name), 
INDEX other_key (other) 
) 
ENGINE=FEDERATED 
DEFAULT CHARSET=latin1 
CONNECTION='federatedTablelink/test'; 

MySQL документацию, которая ссылается на подобные темы являются следующие:

https://dev.mysql.com/doc/refman/5.6/en/federated-usagenotes.html

https://dev.mysql.com/doc/refman/5.1/en/federated-create.html

+0

Как проверить, является ли создан этот сервер или нет? я хочу спросить sql-запрос, чтобы увидеть этот созданный сервер. –

+0

@dhanu, вы прошли через документацию? В документации говорится: 'Оператор CREATE SERVER создает новую строку в таблице серверов в базе данных mysql' –

Смежные вопросы