|
|
|
| помогите перенести БД с одного компьютера на другой.
Пробовал копировать файлы... но не получилось. База есть, а таблицы нет. Точнее, их имена есть, только всегда выбивается сообщение что таблица нет. | |
|
|
|
|
|
|
|
для: rautate
(01.11.2006 в 21:33)
| | Перед "горячим" копированием файлов базы данных необходимо останавливать сервер (или блокировать таблицы на запись). При развёртывании на новом сервере тоже самое - иначе таблицы можно повредить.
PS У вас таблицы какого типа? | |
|
|
|
|
|
|
|
для: cheops
(01.11.2006 в 23:24)
| | то есть? какого типа?
нууу, когда копировал... никакие запросы не производились | |
|
|
|
|
|
|
|
для: rautate
(01.11.2006 в 23:36)
| | >то есть? какого типа?
MyISAM или InnoDB? Посмотреть можно выполнив запрос SHOW CREATE TABLE tbl;
>нууу, когда копировал... никакие запросы не производились
Сервер MySQL мог производить служебные обращения, в любой случае лучше не копировать без блокирования таблиц на запись. | |
|
|
|
|
|
|
|
для: cheops
(01.11.2006 в 23:46)
| | А разме тут не имеется ввиду дамп базы данных с данными и структурой??? разве это не проще? | |
|
|
|
|
|
|
|
для: ihoru
(02.11.2006 в 00:34)
| | а как? | |
|
|
|
|
|
|
|
для: 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
|
| |
|
|
|
|
|
|
|
для: 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 перепутал, извините | |
|
|
|
|
|
|
|
для: rautate
(02.11.2006 в 09:47)
| | Команды эти следует выполнять в командной строке, в диалоговом окне консольного клиента mysql их выполнять не следует. | |
|
|
|
|
|
|
|
для: cheops
(02.11.2006 в 12:34)
| | а в консоли клиента и выполял.
Потом попробовал через cmd зашел в папку где находяться екзешки mysqldump и mysql.
mysqldump сделал файл. Но с помощью mysql не смог перенести на другой комп. Пишу команду, но он всегда выбвает окно help. | |
|
|
|
|
|
|
|
для: rautate
(02.11.2006 в 15:54)
| | Разварачивать даные при помощи mysql вы должны уже на другой машине, чтобы перебросить дамп с текущей машины необходимо указывать IP-адрес удалённого MySQL сервера в параметре -h (плюс на удалённом сервере должна быть создана сетевая учётная запись, котора позволит работать с сервером по сети). | |
|
|
|
|
|
|
|
для: cheops
(02.11.2006 в 16:28)
| | я на флешку взял, не через сеть. Они просто физически не соединены. Они в разных сетях :'-( | |
|
|
|
|
|
|
|
для: cheops
(02.11.2006 в 16:28)
| | может надо как-то пути показывать на файл и на БД ? | |
|
|
|
|
|
|
|
для: rautate
(02.11.2006 в 17:12)
| | Файл дампа разместили в каталоге bin перед выполнением mysql? | |
|
|
|
|
|
|
|
для: cheops
(02.11.2006 в 20: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 и все.
Пытался указать полный путь к файлу дампа... говорит что не знает такого файла по данному пути | |
|
|
|
|
|
|
|
для: rautate
(03.11.2006 в 09:50)
| | docs.sql тоже положите в bin. просто для того, чтобы не путаться с путем.
и команду набирайте без пробела между -p и паролем.
mysql -u root -p123 docs <docs.sql
|
| |
|
|
|
|
|
|
|
для: Trianon
(03.11.2006 в 09:55)
| | спасибо, получилось!!!
вопрос снят | |
|
|
|
|
|
|
|
для: cheops
(01.11.2006 в 23:46)
| | innoDB
А может быть такое, что команда не поддерживается?
у меня MySQL 5
просто, я написал mysqldump --help;
и получил ERROR 1064 | |
|
|
|