Задавайте вопросы, мы ответим
Вы не зашли.
Страниц: 1
Уважаемые мастера подскажите как выполнить инструкцию на другой машине
на сколько я помню в mssqlserver перед именем базы данных указывался сервер
но тут такая фишка не проходит или я не знаю что указать (я указываю IP)
Неактивен
Насколько я понял, Вы хотите прицепить табличку с одного сервера к другому
серверу. Это можно сделать с помощью табличек FEDERATED.
Неактивен
Понял что надо создать такую же таблицу с произв именем и структурой как на удаленной машине и пометить ее как FEDERATED. Не совсем понятно насчет CONNECTION='mysql://username:password@hostname:port/database/tablename' Я так понял что создается соединение с произвольным именем? и как его применять? Потому следует Insert into local_table Select *from feder_table; И еще не совсем понятно поддержка этих таблиц. В серверах с высшей версией почему то нет(к примеру 5.0.77 есть 5.1.35 нет) или она включается?
Неактивен
Нужно, чтобы сервер был собран с поддержкой этого типа таблиц, разумеется.
А обращаться с ней надо как с обычной локальной таблицей — просто все за-
просы будут проброшены на удаленный сервер.
Неактивен
А есть ли еще какой нибудь способ. Я не так силен в Линуксе чтобы собирать сервера из исходников. Мы тут попробовали проапдейтить 5.077 на CentOSe и сервер сказал by.
Неактивен
Если у Вас стандартная сборка, то можете добавить слово federated в раздел
[mysqld] файла my.cnf. Ну и перезапустить mysqld.
Неактивен
Вставили ругается
[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]#
Неактивен
Как ругается то?
Неактивен
Ругался он вот так
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 показывает что таблицы не стали поддерживатся
Неактивен
Ох. Журнал ошибок MySQL покажите То, что пишет инитскрипт, — не интересно
И какая версия MySQL?
Неактивен
Server version: 5.1.47 Где лежит журнал?
Неактивен
Где он лежит на Вашем сервере — вопрос интересный. Не знаю
Сервер из исходников складывает его прямо в каталог с данными. Debian кидает
в /var/log/daemon.log. Ищите.
Неактивен
Ладно это тлеет пока, а горит вот что: создал на виндовом 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)
Неактивен
Очевидно, на 192.168.10.99 нет базы asutpdb
На самом деле, если хост указали правильный, скорее всего у kostya нет прав
читать оттуда (ну и, соответственно, базу он не видит).
Неактивен
Если я вас не утомил гляньте еще раз на мой прошлый пост. Я проставил адреса машин.
видимо здесь
CONNECTION = 'mysql://kostya:123456@192.168.10.99:3306/asutpdb/tablen1';
все таки должен стоят другой адрес
Отредактированно lkote (07.07.2010 21:29:15)
Неактивен
Да, разумеется. Адрес машины, с которой Вы пытаетесь соединиться.
Неактивен
Спасибо Все работает.
Неактивен
Страниц: 1