Перейти к содержанию
Официальный форум поддержки Simpla

Создание бекапа (ОШИБКА)


Рекомендуемые сообщения

при создании бекапа в админке, выдаёт сверху над админкой ошибки:

Warning: MySQL server has gone away [sELECT COUNT(DISTINCT id) as count FROM s_orders AS o WHERE 1 AND o.status = 0 ] in /sata1/home/users/site/www/www.site.com/api/Database.php on line 112

Warning: MySQL server has gone away [sELECT count(distinct c.id) as count FROM s_comments c WHERE 1 AND c.approved=0] in /sata1/home/users/site/www/www.site.com/api/Database.php on line 112

но в месте с этими ошибками бекап создаётся!

что это может быть и как это исправить?

Ссылка на сообщение
Поделиться на другие сайты
  • 11 месяцев спустя...

Warning: MySQL server has gone away [sELECT COUNT(DISTINCT id) as count FROM s_orders AS o LEFT JOIN s_orders_labels AS ol ON o.id=ol.order_id WHERE 1 AND o.status = 0 ] in/sata1/home/users/site/www/www.site.com/api/Database.php on line 112


Warning: MySQL server has gone away [sELECT count(distinct c.id) as count FROM s_comments c WHERE 1 AND c.approved=0] in /sata1/home/users/site/www/www.site.com/api/Database.php on line112

 

 

При создании бекапа выскакивает вверху страницы данные строчки.

 

Расшифруйте пожалуйста, на что ругается?

Ссылка на сообщение
Поделиться на другие сайты
  • 1 год спустя...

Подскажите, пытаюсь создать бекан и пишет ошибку:

 

Fatal error: Call to a member function free() on a non-object in /..../public_html/api/Database.php on line 500

Ссылка на сообщение
Поделиться на другие сайты

Ошибочку маленькую допустил разработчик. В api/Database.php. есть функция:
 

	private function dump_table($table, $h)
	{
		$sql = "SELECT * FROM `$table`;";
		$result = $this->mysqli->query($sql);
		if($result)
		{
..................................
		}
		$result->free();
		fwrite($h, "\n");
	}


 
А надо бы так:
 

	private function dump_table($table, $h)
	{
		$sql = "SELECT * FROM `$table`;";
		$result = $this->mysqli->query($sql);
		if($result)
		{
..................................
			$result->free();
		}
		fwrite($h, "\n");
	}


А с другой стороны, само возникновение ошибки говорит о том, что у Вас что-то не так сработало. Возможно, просто сбой у базы, а может, нестандартные настройки доступа к таблицам.

При нормальной работе базы не должна такая ошибка появляться...

Ссылка на сообщение
Поделиться на другие сайты

Подскажите, пытаюсь создать бекан и пишет ошибку:

 

Fatal error: Call to a member function free() on a non-object in /..../public_html/api/Database.php on line 500

Пользуйтесь нормальным хостингом  http://www.ukraine.com.ua/   там вообще все в лучшем виде и в частности все бэкапы и восстановления без проблем

Изменено пользователем Konan
Ссылка на сообщение
Поделиться на другие сайты

Самый лучший и более надежный бекап:

  • Зашел по FTP выкачал все файлы
  • Зашел в PHPMyAdmin или установи Sypex Dumper - скачал бекап, положи его в корневую папку только что скачанного бекапа сайта

Дело в том, что даже хотсинговый бекап не даст гарантий, что все файлы он уложил в архив, особенно при большом объеме сайта. Скажем на *nix системах есть кажется ограничение на размер одного файла около 2гб.

 

Когда я делал бекап для своего сайта весом в 40Гб, помогла лишь архивация кусками в архивы по 1Гб отдельным скриптов, или с помощью FTP выкачивание всех файлов, т.к. хостинг бекап отказывался работать : ) - но это уже другая история!

Ссылка на сообщение
Поделиться на другие сайты

А при больших объемах данных ( особенно изображений товаров) обычно стандартный бекап в Simpla вообще не работает.

 

 

Легкий бекап
Стандартный бекап пакует в один архив картинки сайта и базу.
Нередко на сайтах с большим количеством товаров создание бекапа парализует работу сайта на несколько минут. Это происходит из-за большого числа и объема файлов картинок.
Обычно картинки, с одной стороны, занимают занимают большой объем, а с другой - меняются сравнительно редко. Поэтому нет особого смысла в копии картинок, но важно чаще делать копии базы.
Доработка предлагает переделку стандартных экспорта и импорта так, чтобы они работали только с базой.
Время работы сокращается во много раз, и перерывов в работе сайта обычно не наблюдается.
А создавать копии картинок можно обычным копированием файлов по FTP. Это можно делать намного реже.
Создавалось для версии 2.2.4.
Скорее всего, годится и для других версий 2.x
http://simpla-tuning.com/products/adminka-legkijbekap
15$
 

Бекап - Разбиение длинных запросов
Встречаются ситуации, когда стандартное симпловское восстановление из бекапа не срабатывает и сайт оказывается без товаров и многих других данных.
Такое может происходить, когда встречаются таблицы с большим числом записей. При этом запрос на восстановление, в котором производится вставка нескольких тысяч записей в таблицу, оказываются непосильным для ресурсов БД.
Предлагаемая доработка при создании резервной копии разбивает такие длинные запросы на меньшие порции до 500 вставок на один запрос.
Указанное предельное число можно менять в скрипте бекапа.Создавалось для версии 2.2.4.
Скорее всего, годится и для других версий 2.x
http://simpla-tuning.com/products/bekap---razbienie-dlinnyh-zaprosov
10$
 

Ссылка на сообщение
Поделиться на другие сайты

Kors, вы не считаете что это как то не правильно??!! Я бы сказал даже нагло с Вашей стороны...

 

http://forum.simplacms.ru/topic/8826-бекап-большого-объема/#entry65768

Изменено пользователем yr4ik
Ссылка на сообщение
Поделиться на другие сайты

А лучше всего, делать бекап базы, особенно большой БД с помощью:

PHPMyAdmin или Sypex Dumper 

 

Особое внимание обращу на последнее!!!!

Изменено пользователем cernos
Ссылка на сообщение
Поделиться на другие сайты

Совет хороший, присоединяюсь.

 

Однако у меня весьма часто встречались случаи, когда при больших объемах базы PHPMyAdmin не справлялся.

С Sypex Dumper тоже встречались трудности - на некоторых базах просто логиниться никак не хотел.

Ссылка на сообщение
Поделиться на другие сайты

Kors, вы не считаете что это как то не правильно??!! Я бы сказал даже нагло с Вашей стороны...

 

http://forum.simplacms.ru/topic/8826-бекап-большого-объема/#entry65768

 

Может как нибудь прокомментируете? Почему данное мною, бесплатное решение, - начало продаваться?

Ссылка на сообщение
Поделиться на другие сайты

Kors, вы не считаете что это как то не правильно??!! Я бы сказал даже нагло с Вашей стороны...

 

http://forum.simplacms.ru/topic/8826-бекап-большого-объема/#entry65768

 

Может как нибудь прокомментируете? Почему данное мною, бесплатное решение, - начало продаваться?

 

Комментирую:

1. Два Ваших поста - чистый оффтоп, к обсуждаемой теме - работе бекапа - не относятся.

2. Чтобы не разводить флуд, и не хотел отвечать.

3. Думаю, Вам стоит задать свой вопрос в личке...

Ссылка на сообщение
Поделиться на другие сайты

Меня тоже интересует ответ на этот вопрос, по этому стоит ответить в ветке. Кажеться не раз обсуждался вопрос продажи бесплатного...

Ссылка на сообщение
Поделиться на другие сайты

Попрошу задать свой вопрос максимально ТОЧНО. Потому как вопросы в теме разные, некоторые, на мой взгляд, НЕКОРРЕКТНЫЕ...

Ссылка на сообщение
Поделиться на другие сайты

Совет хороший, присоединяюсь.

 

Однако у меня весьма часто встречались случаи, когда при больших объемах базы PHPMyAdmin не справлялся.

С Sypex Dumper тоже встречались трудности - на некоторых базах просто логиниться никак не хотел.

ну не знаю не знаю, с phpMyAdmin никогда небыло проблем с базами до 100мб, скорее ограничение хостинга у Вас стояло. С Sympex в свое время делал бекап базы данных размером в 2Гб - no problem! Ошибка авторизации и работы могла заключаться в неправильно выставленных правах директории (скажем 666), нужно было поставить 777, которая симпекс создает под хранение своих настроек.

Ссылка на сообщение
Поделиться на другие сайты

Спасибо, с Sypex Dumper работаю регулярно, про права давно усвоил, настраиваю это первым делом.

 

В последнем случае, когда оба метода не работали, причина была в том, что в одной из таблиц была запись, одно поле которой было размером 1М.

Можете попробовать у себя смоделировать такую ситуацию и будет ли работать?

Ссылка на сообщение
Поделиться на другие сайты

Ошибочку маленькую допустил разработчик. В api/Database.php. есть функция:

 

	private function dump_table($table, $h)	{		$sql = "SELECT * FROM `$table`;";		$result = $this->mysqli->query($sql);		if($result)		{..................................		}		$result->free();		fwrite($h, "\n");	}

 

А надо бы так:

 

	private function dump_table($table, $h)	{		$sql = "SELECT * FROM `$table`;";		$result = $this->mysqli->query($sql);		if($result)		{..................................			$result->free();		}		fwrite($h, "\n");	}

 

А с другой стороны, само возникновение ошибки говорит о том, что у Вас что-то не так сработало. Возможно, просто сбой у базы, а может, нестандартные настройки доступа к таблицам.

При нормальной работе базы не должна такая ошибка появляться...

 

спасибо за отклик на проблему, просто проблема с базой была...все исправил - работает!!!

Изменено пользователем keks
Ссылка на сообщение
Поделиться на другие сайты

А по SSH через mysqldump походу только я один бэкаплю базу?

Мне кажется куда проще написать bash который будет делать бэкап базы, потом архивировать его вместе с файлами движка и кидать хоть на фтп, хоть на Яндекс.Диск и ему подобные с поддержкой webdav.

При этом это все можно логировать, какие файлы попали в бэкап, определать какой сегодня день и к примеру только по субботам бэкапить картинки товаров... Зачем какой то phpMyAdmin использовать для бэкапа базы?

Ссылка на сообщение
Поделиться на другие сайты

А еще в панели управления хостинга бывает возможность настройки серверного бекапа - периодичность создания, период хранения (удаление старых бекапов), там же и восстановление.

Обычно работает куда надежнее, чем PHP-скрипт...

Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...