SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 07.07.2010 11:51:03

lkote
Завсегдатай
Зарегистрирован: 07.07.2010
Сообщений: 25

Как выполнить запрос вставку удаление в БД другой машины(удаленный сервер)

Уважаемые мастера подскажите как выполнить инструкцию на другой машине
на сколько я помню в mssqlserver перед именем базы данных указывался сервер
но тут такая фишка не проходит или я не знаю что указать (я указываю IP)

Неактивен

 

#2 07.07.2010 12:31:58

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Как выполнить запрос вставку удаление в БД другой машины(удаленный сервер)

Насколько я понял, Вы хотите прицепить табличку с одного сервера к другому
серверу. Это можно сделать с помощью табличек FEDERATED.

Неактивен

 

#3 07.07.2010 14:23:18

lkote
Завсегдатай
Зарегистрирован: 07.07.2010
Сообщений: 25

Re: Как выполнить запрос вставку удаление в БД другой машины(удаленный сервер)

Понял что надо создать такую же таблицу с произв именем и структурой как на удаленной машине и пометить ее как FEDERATED. Не совсем понятно насчет CONNECTION='mysql://username:password@hostname:port/database/tablename' Я так понял что создается соединение с произвольным именем? и как его применять? Потому следует Insert into local_table Select *from feder_table; И еще не совсем понятно поддержка этих таблиц. В серверах с высшей версией почему то нет(к примеру 5.0.77 есть 5.1.35 нет) или она включается?

Неактивен

 

#4 07.07.2010 14:31:37

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Как выполнить запрос вставку удаление в БД другой машины(удаленный сервер)

Нужно, чтобы сервер был собран с поддержкой этого типа таблиц, разумеется.
А обращаться с ней надо как с обычной локальной таблицей — просто все за-
просы будут проброшены на удаленный сервер.

Неактивен

 

#5 07.07.2010 15:09:01

lkote
Завсегдатай
Зарегистрирован: 07.07.2010
Сообщений: 25

Re: Как выполнить запрос вставку удаление в БД другой машины(удаленный сервер)

А есть ли еще какой нибудь способ. Я не так силен в Линуксе чтобы собирать сервера из исходников. Мы тут попробовали проапдейтить 5.077 на CentOSe и сервер сказал by.

Неактивен

 

#6 07.07.2010 15:23:06

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Как выполнить запрос вставку удаление в БД другой машины(удаленный сервер)

Если у Вас стандартная сборка, то можете добавить слово federated в раздел
[mysqld] файла my.cnf. Ну и перезапустить mysqld.

Неактивен

 

#7 07.07.2010 16:12:56

lkote
Завсегдатай
Зарегистрирован: 07.07.2010
Сообщений: 25

Re: Как выполнить запрос вставку удаление в БД другой машины(удаленный сервер)

Вставили ругается

[mysqld]
federated
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1

# Disabling symbolic-links is recommended to prevent assorted security risks;
# to do so, uncomment this line:
# symbolic-links=0

# To allow mysqld to connect to a MySQL Cluster management daemon, uncomment
# these lines and adjust the connectstring as needed.
#ndbcluster
#ndb-connectstring="nodeid=4;host=localhost:1186"

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

[ndbd]
# If you are running a MySQL Cluster storage daemon (ndbd) on this machine,
# adjust its connection to the management daemon here.
# Note: ndbd init script requires this to include nodeid!
connect-string="nodeid=2;host=localhost:1186"

[ndb_mgm]
# connection string for MySQL Cluster management tool
connect-string="host=localhost:1186"
[root@WorkOScada etc]#

Неактивен

 

#8 07.07.2010 16:25:48

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Как выполнить запрос вставку удаление в БД другой машины(удаленный сервер)

Как ругается то? smile

Неактивен

 

#9 07.07.2010 17:02:55

lkote
Завсегдатай
Зарегистрирован: 07.07.2010
Сообщений: 25

Re: Как выполнить запрос вставку удаление в БД другой машины(удаленный сервер)

Ругался он вот так
etc]# service mysqld start --federated
MySQL Daemon failed to start.
Запускается MySQL:                                         [ СБОЙ ]
[root@WorkOScada etc]# service mysqld start
MySQL Daemon failed to start.
Запускается MySQL:                                         [ СБОЙ ]
[root@WorkOScada etc]#

но потом перезапустили без опции и все стартовало но SHOW STORAGE ENGINES показывает что таблицы не стали поддерживатся

Неактивен

 

#10 07.07.2010 17:08:20

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Как выполнить запрос вставку удаление в БД другой машины(удаленный сервер)

Ох. Журнал ошибок MySQL покажите smile То, что пишет инитскрипт, — не интересно smile

И какая версия MySQL?

Неактивен

 

#11 07.07.2010 17:28:46

lkote
Завсегдатай
Зарегистрирован: 07.07.2010
Сообщений: 25

Re: Как выполнить запрос вставку удаление в БД другой машины(удаленный сервер)

Server version: 5.1.47 Где лежит журнал?

Неактивен

 

#12 07.07.2010 17:42:32

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Как выполнить запрос вставку удаление в БД другой машины(удаленный сервер)

Где он лежит на Вашем сервере — вопрос интересный. Не знаю smile
Сервер из исходников складывает его прямо в каталог с данными. Debian кидает
в /var/log/daemon.log. Ищите.

Неактивен

 

#13 07.07.2010 18:53:41

lkote
Завсегдатай
Зарегистрирован: 07.07.2010
Сообщений: 25

Re: Как выполнить запрос вставку удаление в БД другой машины(удаленный сервер)

Ладно это тлеет пока, а горит вот что: создал на виндовом mysql сервере IP 192.168.10.134 вот что

DROP DATABASE IF EXISTS asutpdb;
CREATE DATABASE IF NOT EXISTS asutpdb;

DROP TABLE IF EXISTS asutpdb.tablen1;
CREATE TABLE asutpdb.tablen1(
  TM DATETIME DEFAULT NULL,
  TMU INT (10) DEFAULT NULL,
  VAL DOUBLE (30, 15) DEFAULT NULL
)
ENGINE = MYISAM;

SET GLOBAL event_scheduler = ON;

CREATE EVENT asutpdb.DataCopyEvnt
ON SCHEDULE EVERY 1 SECOND
DO
INSERT
INTO asutpdb.tablen1 (TM, TMU, VAL)
VALUES (NOW(), 1, 1);

На линуксовой машине IP 192.168.10.99 вот что:

DROP DATABASE IF EXISTS SecondDb;
CREATE DATABASE IF NOT EXISTS SecondDb;

CREATE TABLE SecondDb.tablen1(
  TM DATETIME DEFAULT NULL,
  TMU INT (10) DEFAULT NULL,
  VAL DOUBLE (30, 15) DEFAULT NULL
)
ENGINE = FEDERATED
CHARACTER SET latin1
COLLATE latin1_swedish_ci
CONNECTION = 'mysql://kostya:123456@192.168.10.99:3306/asutpdb/tablen1';

Все создалось без проблем. На SELECT * FROM SecondDb.tablen1
Говорит вот что:
Unable to connect to foreign data source: Unknown database 'asutpdb'

Отредактированно lkote (07.07.2010 21:25:19)

Неактивен

 

#14 07.07.2010 19:05:19

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Как выполнить запрос вставку удаление в БД другой машины(удаленный сервер)

Очевидно, на 192.168.10.99 нет базы asutpdb wink

На самом деле, если хост указали правильный, скорее всего у kostya нет прав
читать оттуда (ну и, соответственно, базу он не видит).

Неактивен

 

#15 07.07.2010 21:26:19

lkote
Завсегдатай
Зарегистрирован: 07.07.2010
Сообщений: 25

Re: Как выполнить запрос вставку удаление в БД другой машины(удаленный сервер)

Если я вас не утомил smile гляньте еще раз на мой прошлый пост. Я проставил адреса машин.
видимо здесь
CONNECTION = 'mysql://kostya:123456@192.168.10.99:3306/asutpdb/tablen1';
все таки должен стоят другой адрес

Отредактированно lkote (07.07.2010 21:29:15)

Неактивен

 

#16 07.07.2010 22:36:24

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Как выполнить запрос вставку удаление в БД другой машины(удаленный сервер)

Да, разумеется. Адрес машины, с которой Вы пытаетесь соединиться.

Неактивен

 

#17 08.07.2010 11:25:03

lkote
Завсегдатай
Зарегистрирован: 07.07.2010
Сообщений: 25

Re: Как выполнить запрос вставку удаление в БД другой машины(удаленный сервер)

Спасибо Все работает.

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson