- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Переиграть и победить: как анализировать конкурентов для продвижения сайта
С помощью Ahrefs
Александр Шестаков
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Собственно есть дамп с Макхоста размером 120МБ, сейчас решил перенести на другох хост, но залить в базу никак не могу, всё сводиться к проблеме max-allowed-packet. Увеличивать максимально допустимый размер запроса хостер отказываеться. Пробывал заливать Supex Dumper'ом, пробовал разбивать на несколько частей и грузить через phpmyadmin, также обращался к хостеру с просьбой залить его, но в результате получил ответ: "К сожалению текущий дамп не удается залить штатными средствами. Вам необходимо переснять дамп таким образом.
mysqldump -Q --max-allowed-packet=1M --extended-insert=false -u dbuser -p
dbname > dump.sql" Но переснять сейчас его у mchost возможности нет. Есть ли какие скрипты или програмки для преобразования дамп-файла? т.к ставить всё это дело на локалку и переснимать бекап очень проблематично будет..
Ещё вопрос, никогда не работал с SSH, но насколько я знаю, если заливать через него ошибки этой быть не может?
Могу посоветовать хорошую сборку для локального пользования apache+php+mysql, всё в одном установщике, удобная админка (висит в трее когда запущено), устанавливает без каких либо навыков за 1 минуту, в общем это vertrigo
http://vertrigo.sourceforge.net/?lang=ru
futuristian, вы это вообще к чему?!
Mental, эту ошибку выдаёт mysql. Поэтому, при попытке залить через ssh будет та же проблема.
Какого рода информация в базе? Я полагаю, вы в ней храните какой-то громоздкий медиа-контент в полях типа BLOB :)
Варианты у вас следущие:
1. Наиболее правильный с моей точки зрения. Развернуть дамп на локальном компьютере. Выковырять из него медиа-контент и перенести его в файлы. Сделать новый дамп, залить на хост.
2. Найти хостера, у которого max_allowed_packed дотягивает до нужной вам величины. Думаю, это будет не так просто.
3. Наиболее сложный и затратный. Купить VPS, поставить на нём свой mysql с желаемым max_allowed_packet
[umka] добавил 06.05.2010 в 20:53
p.s. если же всё дело в том, что у вас каждая таблица вставляется одним запросом (все строки одним insert-ом), то самый простой способ будет развернуть дамп на локалке, и снять его с параметром --complete-insert.
База vbulletin, информации много, поэтому такой и объём, картинки и файлы в базе не храняться. Вы правы, все записи таблицы вставляються одним Insert'ом. Сейчас какраз на локалке уже разворачиваю дамп, посмотрим, что получиться.
Инсерт там не один.
mysqldump -Q --max-allowed-packet=1M --extended-insert=false
правильный параметр mysqldump, который влияет на размеры в этом случае net_buffer_length =16мб.
Хотя --extended-insert=false в принципе тоже сделает работающий дамп, хоть и не оптимально.
;6863122']futuristian, вы это вообще к чему?!
К тому что очень часто нужно что-то слить и где-то потестировать, монстры типа Дэнвера ужасны. А при условии, что старый хостинг уже не работает, а новый пока не получается использовать, вот тут и появляется промежуточное звено - сделать какие-либо операции локально.
Кстати, Mental, а что у вас за хостинг такой? Чтобы обходить стороной
База vbulletin, информации много, поэтому такой и объём, картинки и файлы в базе не храняться. Вы правы, все записи таблицы вставляються одним Insert'ом. Сейчас какраз на локалке уже разворачиваю дамп, посмотрим, что получиться.
Значит у вас в дампе всё одним INSERT-ом.
Юзайте вариант из p.s., должно помочь :)
Переделал запрос, теперь каждая запись добавляеться через insert, но ошибку всеровно выдаёт, видимо есть длинные записи . Ограничение у хостинга в 1 МБ (sweb).
INSERT INTO `phrase` VALUES ('81125', '-1', 'pollclosed', 'error', 'The poll you selected is closed. Please press back to return to the poll.', 'vbulletin', '', '0', '');
INSERT INTO `phrase` VALUES ('81126', '-1', 'polloptionlength', 'error', 'Poll options cannot exceed {1} characters. Option(s) <b>{2}</b> exceed this limitation.', 'vbulletin', '', '0', '');
Может кто знает хостеров, у которых нет этого ограничения и с нормальной тех.поддержкой? Т.к если каждый раз придётся с этим мучатся - не вариант.
max_allowed_packet = 1M — это дефолтная настройка mysql.
И у подавляющего большинства она такая и есть.
И не увеличивают с целью борьбы с хранением в базе медиа-контента :)
Мой совет, всё-таки стремиться к универсальности/гибкости/мобильнсти, и решать проблему на своей стороне.
Да, но некоторые хотя бы заливают дамп по просьбе клиентов, мне так вначале и ответили на sweb, чтоб им предоставили дамп и они всё сделают (решат проблему эту) но в результате ничего.
Заливать-то заливают, но тут проблема в другом.
Заливают они тем же способом. Т.е. чтобы его залить, нужно изменить конфигурацию и перезапустить mysql, залить дамп, изменить конфиг обратно, и еще раз перезапустить.
При этом, вы не сможете сделать выборку этой записи, т.к. она опять-таки не пролезет через этот max_allowed_packet :)
Вот такой расклад... как ни крути...