SQLinfo.ru - Все о MySQL

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

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

Вы не зашли.

#1 23.04.2015 13:44:13

M@xim
Участник
Зарегистрирован: 31.07.2014
Сообщений: 10

Перенос данных одной таблицы из базы на другой сервер

Доброго времени суток. Взываю к Вам, гуру MySQL.
Задача такая: есть два сервера, на них разные базы данных (имеется в виду названия), в них есть одинаковые по полям таблицы (таблицы называются одинаково). Необходимо перенести данные из база1.таблица1 в база2.таблица2. Все это должно срабатывать из php, который находится на первом сервере.
Как я пытаюсь сделать:
<?php
$hostname1 = "localhost";
$username1 = "root";
$password1 = "pass";
$link1 = mysql_connect($hostname1, $username1, $password1) or die ("mysql connect error1");
mysql_select_db("database1",$link1) or die (mysql_error());

$hostname2 = "localhost";
$username2 = "root";
$password2 = "pass";

$link2 = mysql_connect($hostname2, $username2, $password2) or die ("mysql connect error2");
mysql_select_db("database2",$link2) or die (mysql_error());
mysql_query("UPDATE record_value,$link2 FROM record_value,$link1") or die ("error");

mysql_close();
echo ("ok");
?>

(UPDATE приведен для примера, в идеале нужен INSERT.)

Соответственно ни чего не работает. Если в запросе писать одну базу - запрос работает (пример: mysql_query("SELECT * FROM record_value",$link1); ), а как указать в одном запросе несколько баз?
Заранее спасибо за терпение к новичку.

Отредактированно M@xim (23.04.2015 14:44:57)

Неактивен

 

#2 23.04.2015 14:54:06

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5829

Re: Перенос данных одной таблицы из базы на другой сервер

select * from база1.таблица1;
потом в цикле mysql_fetch_array() и построчно insert into база2.таблица2 ...

Неактивен

 

#3 23.04.2015 15:53:46

M@xim
Участник
Зарегистрирован: 31.07.2014
Сообщений: 10

Re: Перенос данных одной таблицы из базы на другой сервер

Спасибо за совет, частично работает.
Числовые значения переносит нормально, а текст нет...

Отредактированно M@xim (23.04.2015 16:30:42)

Неактивен

 

#4 23.04.2015 19:09:00

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5829

Re: Перенос данных одной таблицы из базы на другой сервер

Что значит "не нормально"?

Неактивен

 

#5 24.04.2015 09:56:30

M@xim
Участник
Зарегистрирован: 31.07.2014
Сообщений: 10

Re: Перенос данных одной таблицы из базы на другой сервер

Все работает. Еще раз спасибо

Неактивен

 

#6 24.05.2015 15:31:13

high_plus_plus
Участник
Зарегистрирован: 24.05.2015
Сообщений: 6

Re: Перенос данных одной таблицы из базы на другой сервер

Можно было попробовать и одним запросом

INSERT INTO db2.tbl2 SELECT * FROM db1.tbl1

Неактивен

 

#7 26.06.2015 13:45:06

akobelkov
Участник
Зарегистрирован: 26.06.2015
Сообщений: 5

Re: Перенос данных одной таблицы из базы на другой сервер

Парни, подскажите как в phpMyAdmin правильно записать этот запрос INSERT INTO db2.tbl2 SELECT * FROM db1.tbl1

INSERT INTO `yoga-xp_rdv.oc_customer` (`customer_id`, `store_id`, `firstname`, `lastname`, `email`, `telephone`, `fax`, `password`, `salt`, `cart`, `wishlist`, `newsletter`, `address_id`, `customer_group_id`, `ip`, `status`, `approved`, `token`, `date_added`)

SELECT `customer_id`+3, `store_id`, `firstname`, `lastname`, `email`, `telephone`, `fax`, '92e1010ba11194041901af424b0f95f022d89695', 'bc99a0a73', 'a:0:{}', '', 1, 1, 1, '81.91.45.75', 1, 1, '', '2015-06-26 14:19:02' FROM  `yoga-xp_radugavostoka`.`oc_customer`;
commit;

Ответ MySQL: Документация
#1142 - SELECT command denied to user 'yoga-xp_rdv'@'localhost' for table 'oc_customer'

Неактивен

 

#8 26.06.2015 13:48:00

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3878

Re: Перенос данных одной таблицы из базы на другой сервер

Запрос записан корректно, но у пользователя нет прав на таблицу 'oc_customer'. У вас права устроены так:
1. юзер yoga-xp_rdv имеет доступ к базе yoga-xp_rdv
2. полагаю, что юзер yoga-xp_radugavostoka имеет доступ к базе yoga-xp_radugavostoka

Нужно дать пользователю yoga-xp_rdv права на вторую базу.

Неактивен

 

#9 26.06.2015 13:53:15

akobelkov
Участник
Зарегистрирован: 26.06.2015
Сообщений: 5

Re: Перенос данных одной таблицы из базы на другой сервер

rgbeast написал:

Запрос записан корректно, но у пользователя нет прав на таблицу 'oc_customer'. У вас права устроены так:
1. юзер yoga-xp_rdv имеет доступ к базе yoga-xp_rdv
2. полагаю, что юзер yoga-xp_radugavostoka имеет доступ к базе yoga-xp_radugavostoka

Нужно дать пользователю yoga-xp_rdv права на вторую базу.

Спасибо за быстрый ответ. Да это два пользователя. Подскажите пожалуйста где даются права?

Неактивен

 

#10 26.06.2015 13:55:06

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3878

Re: Перенос данных одной таблицы из базы на другой сервер

Например, в панели хостинга.

Неактивен

 

#11 26.06.2015 13:57:49

akobelkov
Участник
Зарегистрирован: 26.06.2015
Сообщений: 5

Re: Перенос данных одной таблицы из базы на другой сервер

rgbeast написал:

Например, в панели хостинга.

пока не нашел где, при выборе пользователя можно только его пароль изменить. Спрошу у ТП.

Неактивен

 

#12 29.06.2015 08:45:14

akobelkov
Участник
Зарегистрирован: 26.06.2015
Сообщений: 5

Re: Перенос данных одной таблицы из базы на другой сервер

Ответ ТП на вопрос - как дать права пользователю.

- на shared хостинге это не разрешено.

Как локально дать права, например в denwer'e?

Неактивен

 

#13 29.06.2015 11:29:02

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5829

Re: Перенос данных одной таблицы из базы на другой сервер

с помощью команды GRANT

Неактивен

 

#14 29.06.2015 11:59:10

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3878

Re: Перенос данных одной таблицы из базы на другой сервер

Попросите техподдержку дать права пользвателю к двум базам. Если это не разрешено, то придется искать другое решение или другой вариант хостинга.

Неактивен

 

#15 29.06.2015 12:26:01

akobelkov
Участник
Зарегистрирован: 26.06.2015
Сообщений: 5

Re: Перенос данных одной таблицы из базы на другой сервер

rgbeast написал:

Попросите техподдержку дать права пользвателю к двум базам. Если это не разрешено, то придется искать другое решение или другой вариант хостинга.

Ответ ТП - на shared хостинге это не разрешено.

Придется локально все делать, потом переносить на хостинг.

Неактивен

 

Board footer

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