Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / MySQL Новый топик    Ответить
 запросы из одной БД (одного сервера) к БД (другого сервера)  [new]
Ser123
Guest
Добрый день!

Подскажите, возможно ли делать селекты из одной БД (одного сервера) к БД (другого сервера) и как?
25 сен 17, 17:31    [20821468]     Ответить | Цитировать Сообщить модератору
 Re: запросы из одной БД (одного сервера) к БД (другого сервера)  [new]
Akina
Member

Откуда: Зеленоград, Москва, Россия
Сообщений: 15943
https://dev.mysql.com/doc/refman/5.7/en/federated-storage-engine.html
25 сен 17, 20:44    [20821865]     Ответить | Цитировать Сообщить модератору
 Re: запросы из одной БД (одного сервера) к БД (другого сервера)  [new]
Ser123
Guest
Да, получилось, спасибо, классная вещь.

Если кому пригодится, кратко опишу как это делается

1) Действие первое, проверяем инсталлирован ли модуль Federated Storage Engine через командную строку
(подключаемся к mysql через командную строку, в данном случае)
mysql> show engines;


Должна появится таблица вида:
(Смотрим, есть ли в этой таблице FEDERATED, если нету, переходим к следующему действию)

+------------+----------+----------------------------------------------------------------+
| Engine | Support | Comment |
+------------+----------+----------------------------------------------------------------+
| MyISAM | DEFAULT | Default engine as of MySQL 3.23 with great performance |
| MEMORY | YES | Hash based, stored in memory, useful for temporary tables |
| InnoDB | YES | Supports transactions, row-level locking, and foreign keys |
| BerkeleyDB | DISABLED | Supports transactions and page-level locking |
| BLACKHOLE | NO | /dev/null storage engine (anything you write to it disappears) |
| EXAMPLE | NO | Example storage engine |
| ARCHIVE | NO | Archive storage engine |
| CSV | NO | CSV storage engine |
| ndbcluster | DISABLED | Clustered, fault-tolerant, memory-based tables |
| MRG_MYISAM | YES | Collection of identical MyISAM tables |
| ISAM | NO | Obsolete storage engine |
+------------+----------+----------------------------------------------------------------+

2) Инсталлируем модуль Federated Storage Engine
mysql>install plugin federated soname 'ha_federated.so';


3) Далее опять выполняем команду
mysql> show engines;


и смотрим, должна появится запись FEDERATED | NO, если NO, то нам необходимо её запустить.

4) Запускаем FEDERATED, путём редактирования файла my.cnf (my.ini)

пути могут быть разными в зависимости от версии mysql и ОС:
/etc/mysql/my.cnf
/etc/my.cnf
W:\usr\local\MySQL\my.ini

Добавляем запись federated в блок [mysqld]

[mysqld]
federated


5) Необходимо перезапустить mysql
# /etc/init.d/mysqld restart


6) если при перезапуске вылезла ошибка, и mysql не стартанул
Warning: World-writable config file '/etc/my.cnf' is ignored


то необходимо проверить через свойства файла my.cnf или команду
ls -la mysql.cnf

разрешения на запись/чтение

должно быть правильно: --rw-r---r--

7) если mysql успешно перезапустился, то выполняем команду show engines; и должно быть
FEDERATED SUPPORT YES.

Далее создавайте FEDERATED таблицы и наслаждайтесь.
как создавать, можно почитать тут:
https://dev.mysql.com/doc/refman/5.7/en/federated-create-connection.html
27 сен 17, 10:07    [20825849]     Ответить | Цитировать Сообщить модератору
Все форумы / MySQL Ответить