MySQL импорт
Вот уж не думал, что это так меня разозлит, но простая надпись в заметках "Обновить базу" превратилась в часовую тягомотину. Проблема состоит в следующем - есть большая база, более 5 метров, phpMyAdmin и желание залить эту громадину на сервер. При попытке импортировать - соединение с сервером обрывается. Вот и хочется спросить - как же залить такую базу, чем пользуетесь Вы?
Похожие посты:
38 Комментов к “MySQL импорт”
Оставить коммент
Donation Bar
- Как сюда попасть
- Обзор бирж ссылок на SEOadd.ru (30$)
- BestMasterиZация (10$)
- Dofollow блог (6.5$)
- Партнерки на подписках (6.1$)
- BestMasterиZация (6$)
Order Links
Топ комментаторов
- No commentators.

Опубликовал cross в
Sonikelf :
Такую базу нужно запихивать не целиком, а запросами. Откройте файл базы каким-нибудь ткт-редактором, желательно не стадартным блокнотиком, а чем-нибудь вроде PSPAD и разбейте файл запросов на 5. Если сами не догадаетесь как оно разбивается на части – напишите мне на мыло, я объясню подробно.
cross :
Догадаюсь конечно же
Даже догадался и разделил запросы на части. Есть маленькие и они импортируются без проблем, в то время как запросы более 2 метров весом – естественно обрываются… ( 5ый час сайт висит без базы – пипец просто.
Единственно решение вижу в использовании MySQLDump – пробую.
Sonikelf :
Разбейте двухметровые запросы на несколько запросов поменьше. Либо да, можно MySQLDump попробовать
cross :
Сложно и неудобно будет каждый раз – запросы так разбивать.
Я дамп создал, а вот залить его не получается, панель управления не спрашивает в какую базу залить… Еще не знаю как обойти проблему.
Никита :
Напиши небольшой скриптик, который будет разбивать твой запрос и слать его частями.
Sonikelf :
Версия phpMyAdmin какая?
cross :
Никита, дамп БД – мне кажется более правильный подход.
Sonikelf, phpMyAdmin – 2.9.0.2
Но дамп базы данных я пытаюсь залить не через него, а через “Резервное копирование”. Может что-то не так делаю, вот и хочется услышать комменатарии по поводу того, как правильно это делаетсяю.
Sonikelf :
Что конкретно не получается с дампом?
Выкладываете на сервер дамп. Заходите по SSH и набиваете:
mysql –host=имя_хоста –user=имя_юзера –password=пароль имя_базы < файл_дампа
Если не знаете как зайти по SSH, обратитесь к хостинг-провайдеру.
cross :
Разбираюсь, спасибо за подсказку.
div72 :
http://sypex.net/products/dumper/ – я юзаю эту штуку
Dimox :
Если файл БД большой, удобно работать с ней через SSH.
cross :
Та вот же тех поддержку дергаю, чтобы настроили мне доступ по SSH к серверу.
cross :
Доступ есть, по SSH подключаюсь, дамп залил в папку www. К базе с логин и паролем подключается без проблем, но вот ничего не заливает в базу.
Предполагаю, что нужно указать верный путь к дампу, только вот не знаю как в SSH определить полный путь к определенному файлу.
Dimox :
Попробуй заюзать программу WinSCP. Там вроде бы все интуитивно понятно. Я работаю через нее.
cross :
Файл залить получается без проблем, даже через обычный фтп.
А вот при 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 */;
и все… Что это значит не понимаю, и как исправить пока не знаю.
cross :
Домучался
Оказывается сначала залил дамп не на тот сервер, но после когда увидел это, пришлось использовать такую конструкцию:
mysql -u user -ppassword database /path/mysql.sql
И все заработало! База залита и теперь 1 к знаниям по администрированию сайтов по SSH
Евгений Злобин :
Я использую MyDeveloper Studio, подробнее уже описывал вот тут http://forum.creastar.ru/index.php?topic=211.0
Dimox :
Поздравляю!
cross :
Спасибо, плохо конечно что сайт пролежал несколько часов. Но главное что теперь сделан первый шаг во взаимодействии с сервером.
Глядишь немного разгребусь с делами, займусь настройкой Subversion.
Sonikelf :
Поздравляю!
Плохо, что сайт пролежал, но зато какой опыт
Если что – пишите, я помогу может чем
cross :
Спасибо за поддержку.
Сегодня утром еще одну базу смог залить, только уже размером более 10 метров, без разбиения и проблем.
Делается все так:
1. MySQL экспортируется в SQL файлик
2. Файлик заливается по ФТП на сервер
3. Подключаемся к серверу по SSH и запускаем mysql -u user -ppassword database < /path/mysql.sql
Все готово.
Единственный вопрос остался за тем, чтобы настроить SSH работать по открытому коду через приватный и публичный ключики.
Dimox :
А я даже не знаю, что за такие “приватный и публичный ключики”.
cross :
Есть открытый ключ, который может получить каждый клиент для того, чтобы сгенерировать закрытый ключ и его использовать для аутентификации при соединении по SSH – это поднимает защищенность соединения, поскольку все данные будут кодироваться на основе этого ключа.
KMiNT21 :
Ключи – удобная штука чтоб не вводить больше пароль. В смысле что его можно подсмотреть/услышать/отловить кейлоггером и т.п. А файл-ключ – только утянуть.
Советую посмотреть на Bitvise Tunnelier (http://blog.kmint21.com/2007/09/28/http-tunnel/).
Прямо в нем есть keypair manager.
Олег :
Расчехлили), мои поздравления!
Дима :
Это точно! Всей информации не уловишь, хотя в курсе всех новостей конечно надо быть!
Предлагаю всем обменяться ссылками | Заметки Сис.Админа :
[...] MySQL импорт [...]
gir :
а я поступаю просто – просто обращаюсь к знакомому сисадмину:))) думаю что лучше заплатить профи чем часами мучатьси с итоговым неизвестным исходом.
cross :
Да ну
Это как если бы я друга попросил за деньги впервый раз переспать со своей девушкой…
Сори за такое сравнение.
На то он и первый раз, чтобы быть долгим и сложным. А итог уже зависит от человека, о своем итоге я написал. Надеюсь он будет полезен всем.
koft :
Это точно!
Карл :
Будете постоянно кого то просить так ничему и не научитесь в итоге. Самому нужно развиваться, думать, пробовать, советоваться в конце концов. Имхо пользы будет больше:)
cross :
В данном случае меня интересовал опыт уже прошедших данную проблему людей.
Но как видно из поста и комментов, я и сам вполне хорошо справился с задачей. База имортируется на-легке
cross :
Снова пришлось столкнуться с проблемой заливки базы данных более 5 метров весом. Элементарно в течении 15 минут MySQL базу удалось импортировать.
Mel :
Была такая жезадача, (БД 10 мб), пошарился в инете и нашол несколько решений, собрал в кучу и разместил у себя на странице http://melok.com.ua/razdels/library/?f=1027-125-673-107
comp :
Эх, как удобно было когда не было никаких mysql и все хранилось в файлах txt
myasnik :
Сам я не стал себе голову морочить, лучше всего обратитесь к хостинг-провайдеру..
Bender :
Для бекапа и восстановления баз данных есть хороший скрипт, называется SypexDumper
MySQL BackUp/Restore. Чит-лист | Персональный блог :
[...] – Делает так, чтобы импорт mysql базы не создал проблем, и все существующие таблицы [...]