|
|
|
| Установил MySQL на другой комп. Скопировал базу board со старого компа в новый в каталог Data. Но при обращении к ней (к таблице) desk m_tab; пишет ERROR 1146 (42S02): Table 'board.m_tab' doesn't exist. Но когда набираю show tables; то выходит Tables_in_board m_tab. Т.е. таблица существует, но не создана?????
Помогите, может что не так сделал, что еще надо перенести? | |
|
|
|
|
|
|
|
для: Killer
(12.11.2005 в 16:23)
| | попробуй удалить всё что перенёс на новом компе, зайди затем на старый комп, найди SQL запрос на создание таблицы, скопируй запрос и вставь его в новую БД на новом компе, вот в принципе и всё. либо я не так понял проблему.. | |
|
|
|
|
|
|
|
для: 10100100
(12.11.2005 в 16:32)
| | найди SQL запрос на создание таблицы,
>скопируй запрос и вставь его в новую БД на новом компе,
Я создавал таблицу в окне ДОС.
Если я чего то не понимаю, как можно его найти этот запрос и вставить в новую базу??? | |
|
|
|
|
|
|
|
для: Killer
(12.11.2005 в 16:44)
| | щит... тогда не знаю... должен быть какой то запрос который это показывает... :( жди Хеопса - он умный! не то что я! !:)) | |
|
|
|
|
|
|
|
для: Killer
(12.11.2005 в 16:44)
| | Через командную строку делаем так.
На старом компе сделаем дамп базы, которую нужно перенести
mysqldump -u root -p _имя_базы_ > c:\base.sql
|
Здесь _имя_базы_ - это имя базы данных, которую хочешь перенести, base.sql - имя файла, в котором будет сохранен дамп базы. Нужно указывать полный путь к файлу.
Затем берешь base.sql и переносишь его на новый комп, например в c:\
Затем в командной строке на новом компе выполняешь
mysql -u root -p < c:\base.sql
|
Будет создана новая бд со всеми таблицами и данными в них | |
|
|
|
|
|
|
|
для: Killer
(12.11.2005 в 16:23)
| | А вы перед копированием сервер останавливали на обоих машинах? Дело в том, что можно перенести безболезненно таблицы, только при нулевой активности сервера (таблицы должны быть типа ISAM или MyISAM, остальные так запросто не переносятся, таблицы InnoDB вообще хранятся в едином табличном пространстве, а в data - только заголовки таблиц). | |
|
|
|
|
|
|
|
для: cheops
(12.11.2005 в 22:45)
| | >А вы перед копированием сервер останавливали на обоих
>машинах? Дело в том, что можно перенести безболезненно
>таблицы, только при нулевой активности сервера (таблицы
>должны быть типа ISAM или MyISAM, остальные так запросто не
>переносятся, таблицы InnoDB вообще хранятся в едином
>табличном пространстве, а в data - только заголовки таблиц).
В смысле, как остановить сервер? Тип базы как посмотреть?
На новом компе по вышеприведенной команде выскакивает это:
Error 1046 (3D000) at line 22: No database selected | |
|
|
|
|
|
|
|
для: Killer
(13.11.2005 в 15:38)
| | Пардон! На новом компьютере надо сначала создать вашу базу данных затем выполнить
mysql -u root -p _имя_базы_ < c:\base.sql
|
| |
|
|
|
|
|
|
|
для: Killer
(13.11.2005 в 15:38)
| | Или вот так.
На старом компе:
mysqldump -u root -p --databases _имя_базы_ >c:\base.sql
|
На новом компе:
mysql -u root -p < c:\base.sql
|
Тогда не придется специально создавать бд на новом компе. | |
|
|
|
|
|
|
|
для: WebTech
(13.11.2005 в 17:10)
| | Спасибо огромное, получилось.
А скажи, на WEBserver как перенести? Так же точно не получится наверное. Вы тут писали о програмке php А как быть, если у меня на Perl? | |
|
|
|
|
|
|
|
для: Killer
(13.11.2005 в 17:35)
| | На сервер сложнее :-(
Если ты имеешь право создавать бд на своем сервере, то действуй по моему последнему варианту. Если не имеешь таких прав, то по предпоследнему :-) Только базу данных в таком случае тебе создадут, и выдадут ее имя, а также логин и пароль для доступа к серверу бд.
Естественно, чтобы все это сделать нужен шелл-доступ к твоему сайту. Если шелла нет, то тогда не знаю как :-( Т.е. можно в таком случае с помощью PHP, могу написать тебе скрипт. А Perl я не знаю, к сожалению :-( | |
|
|
|
|
|
|
|
для: WebTech
(13.11.2005 в 18:05)
| | >можно в таком случае с помощью PHP, могу написать тебе
>скрипт. А Perl я не знаю, к сожалению :-(
Если не трудно, то буду рад:-))
Кстати хочу РНР тоже изучать, они наверное не намного различаются с Perl? | |
|
|
|
|
|
|
|
для: Killer
(13.11.2005 в 19:45)
| | Сейчас на работу надо бежать... Вечером тебе обязательно напишу :-) | |
|
|
|
|
|
|
|
для: Killer
(13.11.2005 в 19:45)
| | Попробовал я тут... Оказалось, что это довольно проблематично :-( Дело в том, что php не может обработать файл дампа базы целиком, его нужно разбивать на отдельные операторы (CREATE, INSERT и т.д.). а это отдельная тема. Или может кто-нибудь может что-нибудь по этому поводу сказать? Теперь уже самому интересно :-) cheops?
Можно установить на сервер phpMyAdmin (как самый лучший, на мой взгляд :-)) или какую-нибудь другую прогу, с помощью которой можно перенести бд.
А вообще, сделай все через шелл, с помощью mysqldump и mysql. Это, на самом деле, гораздо проще (по-моему :-)), чем заморачиваться с php. Если уж тебе позволено иметь бд на сервере, то и шелл наверняка предоставляется.
Насчет похожести Perl'a и PHP ничего не могу сказать, совсем не знаю Perl. Но, если ты знаешь Perl, то сможешь начать писать на PHP очень быстро :-) | |
|
|
|
|
|
|
|
для: WebTech
(14.11.2005 в 16:29)
| | Да, для переноса дампа средствами PHP - дамп необходимо разбить, это можно сделать при помощи функции preg_split(), разбивающей строку по регулярному выражению http://www.softtime.ru/forum/read.php?id_forum=3&id_theme=1407, если есть возможность установить phpMyAdmin - это самый простой вариант. | |
|
|
|
|
|
|
|
для: cheops
(15.11.2005 в 00:19)
| | Кстати.
Порылся в исходниках phpMyAdmin'a... Он это и делает с файлом дампа. Разбивает его на части. | |
|
|
|
|
|
|
|
для: Killer
(13.11.2005 в 19:45)
| | >Кстати хочу РНР тоже изучать, они наверное не намного
>различаются с Perl?
Если знаете Perl, то никаких сложностей (почти) с PHP не возникнет - он вас даже разчарует меньшей функциональностью, но зато порадают большей прозрачностью и читабельностью, что важно при изучении кода по листингам чужих программ. | |
|
|
|
|
|
|
|
для: Killer
(13.11.2005 в 17:35)
| | Все номально, на хосте такое написано:
"Администрировать свою базу данных вы сможете через shell, либо установив
phpMyAdmin." | |
|
|
|