MySQL импорт

Posted Опубликовал cross в Разработка сайтов     Comments 38 comments
Май
24

Вот уж не думал, что это так меня разозлит, но простая надпись в заметках "Обновить базу" превратилась в часовую тягомотину. Проблема состоит в следующем - есть большая база, более 5 метров, phpMyAdmin и желание залить эту громадину на сервер. При попытке импортировать - соединение с сервером обрывается.  Вот и хочется спросить - как же залить такую базу, чем пользуетесь Вы?

Похожие посты:

  1. PHP+Apache+MySql
  2. Оптимизация запросов MySQL
  3. Виртуальный сервер
  4. MySQL BackUp/Restore. Чит-лист

38 Комментов к “MySQL импорт”

  • Такую базу нужно запихивать не целиком, а запросами. Откройте файл базы каким-нибудь ткт-редактором, желательно не стадартным блокнотиком, а чем-нибудь вроде PSPAD и разбейте файл запросов на 5. Если сами не догадаетесь как оно разбивается на части – напишите мне на мыло, я объясню подробно.

  • Догадаюсь конечно же :) Даже догадался и разделил запросы на части. Есть маленькие и они импортируются без проблем, в то время как запросы более 2 метров весом – естественно обрываются… ( 5ый час сайт висит без базы – пипец просто.

    Единственно решение вижу в использовании MySQLDump – пробую.

  • Разбейте двухметровые запросы на несколько запросов поменьше. Либо да, можно MySQLDump попробовать

  • Сложно и неудобно будет каждый раз – запросы так разбивать.

    Я дамп создал, а вот залить его не получается, панель управления не спрашивает в какую базу залить… Еще не знаю как обойти проблему.

  • Напиши небольшой скриптик, который будет разбивать твой запрос и слать его частями.

  • Версия phpMyAdmin какая?

  • Никита, дамп БД – мне кажется более правильный подход.

    Sonikelf, phpMyAdmin – 2.9.0.2

    Но дамп базы данных я пытаюсь залить не через него, а через “Резервное копирование”. Может что-то не так делаю, вот и хочется услышать комменатарии по поводу того, как правильно это делаетсяю.

  • Что конкретно не получается с дампом?

    Выкладываете на сервер дамп. Заходите по SSH и набиваете:

    mysql –host=имя_хоста –user=имя_юзера –password=пароль имя_базы < файл_дампа

    Если не знаете как зайти по SSH, обратитесь к хостинг-провайдеру.

  • Разбираюсь, спасибо за подсказку.

  • http://sypex.net/products/dumper/ – я юзаю эту штуку

  • Если файл БД большой, удобно работать с ней через SSH.

  • Та вот же тех поддержку дергаю, чтобы настроили мне доступ по SSH к серверу.

  • Доступ есть, по SSH подключаюсь, дамп залил в папку www. К базе с логин и паролем подключается без проблем, но вот ничего не заливает в базу.

    Предполагаю, что нужно указать верный путь к дампу, только вот не знаю как в SSH определить полный путь к определенному файлу.

  • Попробуй заюзать программу WinSCP. Там вроде бы все интуитивно понятно. Я работаю через нее.

  • Файл залить получается без проблем, даже через обычный фтп.

    А вот при mysqldump -u user -ppassword database /path/mysql.sql появляется на экране вот такое чудо:

    -- MySQL dump 10.9
    --
    -- Host: localhost Database: disksco_eastdvd
    -- ------------------------------------------------------
    -- Server version 4.1.21-standard-log

    /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
    /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
    /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
    /*!40101 SET NAMES cp1251 */;
    /*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
    /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
    /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
    /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;

    /*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
    /*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
    /*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
    /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
    /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
    /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
    /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

    и все… Что это значит не понимаю, и как исправить пока не знаю.

  • Домучался :) Оказывается сначала залил дамп не на тот сервер, но после когда увидел это, пришлось использовать такую конструкцию:

    mysql -u user -ppassword database /path/mysql.sql

    И все заработало! База залита и теперь 1 к знаниям по администрированию сайтов по SSH :)

  • Я использую MyDeveloper Studio, подробнее уже описывал вот тут http://forum.creastar.ru/index.php?topic=211.0

  • Поздравляю! ;)

  • Спасибо, плохо конечно что сайт пролежал несколько часов. Но главное что теперь сделан первый шаг во взаимодействии с сервером.

    Глядишь немного разгребусь с делами, займусь настройкой Subversion.

  • Поздравляю!
    Плохо, что сайт пролежал, но зато какой опыт ;)
    Если что – пишите, я помогу может чем :)

  • Спасибо за поддержку.

    Сегодня утром еще одну базу смог залить, только уже размером более 10 метров, без разбиения и проблем.

    Делается все так:
    1. MySQL экспортируется в SQL файлик
    2. Файлик заливается по ФТП на сервер
    3. Подключаемся к серверу по SSH и запускаем mysql -u user -ppassword database < /path/mysql.sql

    Все готово.

    Единственный вопрос остался за тем, чтобы настроить SSH работать по открытому коду через приватный и публичный ключики.

  • Единственный вопрос остался за тем, чтобы настроить SSH работать по открытому коду через приватный и публичный ключики, но это следующий вопрос.

    А я даже не знаю, что за такие “приватный и публичный ключики”.

  • Есть открытый ключ, который может получить каждый клиент для того, чтобы сгенерировать закрытый ключ и его использовать для аутентификации при соединении по SSH – это поднимает защищенность соединения, поскольку все данные будут кодироваться на основе этого ключа.

  • Ключи – удобная штука чтоб не вводить больше пароль. В смысле что его можно подсмотреть/услышать/отловить кейлоггером и т.п. А файл-ключ – только утянуть.

    Советую посмотреть на Bitvise Tunnelier (http://blog.kmint21.com/2007/09/28/http-tunnel/).

    Прямо в нем есть keypair manager.

  • Расчехлили), мои поздравления!

  • Это точно! Всей информации не уловишь, хотя в курсе всех новостей конечно надо быть!

  • а я поступаю просто – просто обращаюсь к знакомому сисадмину:))) думаю что лучше заплатить профи чем часами мучатьси с итоговым неизвестным исходом.

  • Да ну :) Это как если бы я друга попросил за деньги впервый раз переспать со своей девушкой… :) Сори за такое сравнение.

    На то он и первый раз, чтобы быть долгим и сложным. А итог уже зависит от человека, о своем итоге я написал. Надеюсь он будет полезен всем.

  • Это точно!

  • Будете постоянно кого то просить так ничему и не научитесь в итоге. Самому нужно развиваться, думать, пробовать, советоваться в конце концов. Имхо пользы будет больше:)

  • В данном случае меня интересовал опыт уже прошедших данную проблему людей.

    Но как видно из поста и комментов, я и сам вполне хорошо справился с задачей. База имортируется на-легке :)

  • Снова пришлось столкнуться с проблемой заливки базы данных более 5 метров весом. Элементарно в течении 15 минут MySQL базу удалось импортировать.

  • Была такая жезадача, (БД 10 мб), пошарился в инете и нашол несколько решений, собрал в кучу и разместил у себя на странице http://melok.com.ua/razdels/library/?f=1027-125-673-107

  • Эх, как удобно было когда не было никаких mysql и все хранилось в файлах txt :)

  • Сам я не стал себе голову морочить, лучше всего обратитесь к хостинг-провайдеру..

  • Для бекапа и восстановления баз данных есть хороший скрипт, называется SypexDumper

  • [...] – Делает так, чтобы импорт mysql базы не создал проблем, и все существующие таблицы [...]

Оставить коммент

Donation Bar

Order Links

Топ комментаторов

  • No commentators.