Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: помогите перенести базу данных MySQL с одного компьютера на другой
 
 автор: rautate   (01.11.2006 в 21:33)   письмо автору
 
 

помогите перенести БД с одного компьютера на другой.
Пробовал копировать файлы... но не получилось. База есть, а таблицы нет. Точнее, их имена есть, только всегда выбивается сообщение что таблица нет.

   
 
 автор: cheops   (01.11.2006 в 23:24)   письмо автору
 
   для: rautate   (01.11.2006 в 21:33)
 

Перед "горячим" копированием файлов базы данных необходимо останавливать сервер (или блокировать таблицы на запись). При развёртывании на новом сервере тоже самое - иначе таблицы можно повредить.

PS У вас таблицы какого типа?

   
 
 автор: rautate   (01.11.2006 в 23:36)   письмо автору
 
   для: cheops   (01.11.2006 в 23:24)
 

то есть? какого типа?
нууу, когда копировал... никакие запросы не производились

   
 
 автор: cheops   (01.11.2006 в 23:46)   письмо автору
 
   для: rautate   (01.11.2006 в 23:36)
 

>то есть? какого типа?
MyISAM или InnoDB? Посмотреть можно выполнив запрос SHOW CREATE TABLE tbl;

>нууу, когда копировал... никакие запросы не производились
Сервер MySQL мог производить служебные обращения, в любой случае лучше не копировать без блокирования таблиц на запись.

   
 
 автор: ihoru   (02.11.2006 в 00:34)   письмо автору
 
   для: cheops   (01.11.2006 в 23:46)
 

А разме тут не имеется ввиду дамп базы данных с данными и структурой??? разве это не проще?

   
 
 автор: rautate   (02.11.2006 в 00:42)   письмо автору
 
   для: ihoru   (02.11.2006 в 00:34)
 

а как?

   
 
 автор: cheops   (02.11.2006 в 01:56)   письмо автору
 
   для: rautate   (02.11.2006 в 00:42)
 

Дамп можно создать при помощи утилиты mysqldump
mysqldump -u root -p base > base.sql

где root - имя пользователя (если пользователь имеет не пустой пароль, следует указывать параметр -p) base - имя базы данных, а base.sql - файл дампа (текстоый файл с SQL-инструкциями).
На машине назначения дамп можно выполнить при помощи утилиты mysql
mysql -u root -p base < base.sql

   
 
 автор: rautate   (02.11.2006 в 09:47)   письмо автору
 
   для: cheops   (02.11.2006 в 01:56)
 

написал, что Вы мне посоветовали, в ответ получил ошибку:

ERROR 1064 (42000) You have an error in your SQL syntax; check the manual......

код, который написал:

mysqldump -u root -p docs > docs.sql

я под юзером root БД docs
у меня база innoDB
(когда писал myISAM перепутал, извините

   
 
 автор: cheops   (02.11.2006 в 12:34)   письмо автору
 
   для: rautate   (02.11.2006 в 09:47)
 

Команды эти следует выполнять в командной строке, в диалоговом окне консольного клиента mysql их выполнять не следует.

   
 
 автор: rautate   (02.11.2006 в 15:54)   письмо автору
 
   для: cheops   (02.11.2006 в 12:34)
 

а в консоли клиента и выполял.
Потом попробовал через cmd зашел в папку где находяться екзешки mysqldump и mysql.
mysqldump сделал файл. Но с помощью mysql не смог перенести на другой комп. Пишу команду, но он всегда выбвает окно help.

   
 
 автор: cheops   (02.11.2006 в 16:28)   письмо автору
 
   для: rautate   (02.11.2006 в 15:54)
 

Разварачивать даные при помощи mysql вы должны уже на другой машине, чтобы перебросить дамп с текущей машины необходимо указывать IP-адрес удалённого MySQL сервера в параметре -h (плюс на удалённом сервере должна быть создана сетевая учётная запись, котора позволит работать с сервером по сети).

   
 
 автор: rautate   (02.11.2006 в 16:53)   письмо автору
 
   для: cheops   (02.11.2006 в 16:28)
 

я на флешку взял, не через сеть. Они просто физически не соединены. Они в разных сетях :'-(

   
 
 автор: rautate   (02.11.2006 в 17:12)   письмо автору
 
   для: cheops   (02.11.2006 в 16:28)
 

может надо как-то пути показывать на файл и на БД ?

   
 
 автор: cheops   (02.11.2006 в 20:50)   письмо автору
 
   для: rautate   (02.11.2006 в 17:12)
 

Файл дампа разместили в каталоге bin перед выполнением mysql?

   
 
 автор: rautate   (03.11.2006 в 09:37)   письмо автору
 
   для: cheops   (02.11.2006 в 20:50)
 

да

   
 
 автор: rautate   (03.11.2006 в 09:50)   письмо автору
 
   для: cheops   (02.11.2006 в 20:50)
 

я напишу команды которые я выполняю:
Во первых через консоль захожу в папку, где находиться mysqldump.exe и mysql.exe
Они находятся : C:\Program Files\MySQL\MySQL Server 5.0\bin

и выполняю команду :

mysql -u root -p 123 docs < docs.sql

или

mysql -u root -p 123 c:\program files\MySQL\MySQL Server 5.0\data\docs < docs.sql

результат один и тот же, появляется страница help-a и все.
Пытался указать полный путь к файлу дампа... говорит что не знает такого файла по данному пути

   
 
 автор: Trianon   (03.11.2006 в 09:55)   письмо автору
 
   для: rautate   (03.11.2006 в 09:50)
 

docs.sql тоже положите в bin. просто для того, чтобы не путаться с путем.
и команду набирайте без пробела между -p и паролем.

mysql -u root -p123 docs <docs.sql

   
 
 автор: rautate   (03.11.2006 в 10:51)   письмо автору
 
   для: Trianon   (03.11.2006 в 09:55)
 

спасибо, получилось!!!
вопрос снят

   
 
 автор: rautate   (02.11.2006 в 00:42)   письмо автору
 
   для: cheops   (01.11.2006 в 23:46)
 

innoDB

А может быть такое, что команда не поддерживается?
у меня MySQL 5
просто, я написал mysqldump --help;
и получил ERROR 1064

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования