Ошибка при восстановлении резервной копии битрикс

1C-Bitrix. Решение проблемы с ошибкой во время восстановления копии

Идеальный выбор начинающих и небольших сайтов

Возникает ошибка «Maximum execution time of 60 seconds exceeded» во время восстановления резервной копии Битрикс:

Есть несколько вариантов решения этой проблемы

1) после внесения изменений в php.ini требуется рестарт apache.
2) если определена переменная set_time_limit в файле /bitrix/php_interface/dbconn.php то она имеет приоритет по сравнению с тем что хранится в php.ini в max_execution_time
3) ошибка может возникать из-за нехватки значения параметра memory_limit(также определяется в этих файлах)

3 месяца хостинга в подарок при переносе сайта к нам!

Цитата
Сообщение от tgarl
Посмотреть сообщение

вам локально и не нужно знать доступы к базе — вы выбираете создать новую базу заполняете все поля ее название, логин пароль, не помню точно сервер указывается или нет но если не ошибаюсь(просто пару месяцев уже локально не разворачивал) сервер там указывать нужно обязательно сервер базы в вебокружении можно посмотреть в настройках(правой кнопкой мыши на значек битрикс окружения в трее — в виндоус внизу справа), но если его не меняли по умолчанию это localhost:31006

Тогда ещё вопрос от чайника: если я ставлю по умолчанию root, пароль (допустим, 1), имя базы, какая была на сайте — мне показывается ошибка доступа пользователя root@localhost для базы «имясайта». А если имя базы оставляю на усмотрение битрикса (например, bitrix64), то мне выдается:
Error! mysql_connect(‘-‘, ‘-‘, ‘-‘)
Access denied for user ‘root’@’localhost’ (using password: YES)

И ещё — откуда брать правильный файл restore.php? Может в нём заключаться проблема?

Добавлено через 13 минут

Цитата
Сообщение от tgarl
Посмотреть сообщение

вам локально и не нужно знать доступы к базе — вы выбираете создать новую базу заполняете все поля ее название, логин пароль, не помню точно сервер указывается или нет но если не ошибаюсь(просто пару месяцев уже локально не разворачивал) сервер там указывать нужно обязательно сервер базы в вебокружении можно посмотреть в настройках(правой кнопкой мыши на значек битрикс окружения в трее — в виндоус внизу справа), но если его не меняли по умолчанию это localhost:31006

А если не ставить пароль, ошибка вот такая:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘0,1.00,’s1′,’N’,’СтабилизатоБЂ вышки-С‚БѓСЂ’,’Y’,’catalog’,’MyCa’ at line 1

INSERT INTO `b_sale_basket` VALUES (28174,223001,NULL,8304,4996,1200.00,’RUB’,’2012-09-02 11:12:21′,’2012-09-02 11:12:21′,0. 0,1.00,’s1′,’N’,’СтабилизатоБЂ вышки-С‚БѓСЂ’,’Y’,’catalog’,’MyCatalogBasketCallback’,’Р ¦РµРЅР° АќРѕРІРѕСЂРѕСЃСЃАёР№СЃРє’,’CatalogBasketOrderCallb ack’,»,0.00,’CatalogBasketCancelCallback’,’Catalo gPayOrderCallback’,’c273b1ff-7222-4bfa-8fb2-7480baa96a65#’,’e48c4521-3dab-11e1-817f-f46d0490a55d’,NULL,NULL,NULL,0.18);

Что делать?

Добавлено через 50 минут
В общем, файл restore.php я беру из папки wwwbitrixmodulesmainadmin

Теперь вылезла другая ошибка:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘0,1.00,’s1′,’N’,’СтабилизатоБЂ вышки-С‚БѓСЂ’,’Y’,’catalog’,’MyCa’ at line 1

INSERT INTO `b_sale_basket` VALUES (28174,223001,NULL,8304,4996,1200.00,’RUB’,’2012-09-02 11:12:21′,’2012-09-02 11:12:21′,0. 0,1.00,’s1′,’N’,’СтабилизатоБЂ вышки-С‚БѓСЂ’,’Y’,’catalog’,’MyCatalogBasketCallback’,’Р ¦РµРЅР° АќРѕРІРѕСЂРѕСЃСЃАёР№СЃРє’,’CatalogBasketOrderCallb ack’,»,0.00,’CatalogBasketCancelCallback’,’Catalo gPayOrderCallback’,’c273b1ff-7222-4bfa-8fb2-7480baa96a65#’,’e48c4521-3dab-11e1-817f-f46d0490a55d’,NULL,NULL,NULL,0.1;

0

Как восстановить битрикс (Корпоративный портал) из резервной копии на примере CentOS

Как восстановить битрикс (Корпоративный портал) из резервной копии на примере CentOS

Всем привет, снова изучаем CMS Bitrix, на повестке дня как восстановить сайт битрикс из резервной копии.Как создать резервную Битрикс корпоративный портал описано тут, как установить описано тут. Вам нужно единственное на первом окне мастера выбрать не новая установка а восстановить из резервной копии (Восстановить проект), процедура эта не частая, но все равно оставляет у ряда веб-мастеров некоторые вопросы.

Как восстановить сайт битрикс

и так, вы развернули свежую, пустую версию bitrix на новом сервере или виртуальной машине, заходите в браузере на нужный ip адрес. У вас открывается мастер установки bitrix. Одним из пунктов будет Восстановить проект.

Существует 4 вида восстановления сайта на Bitrix.

1 Способ

1. Развернуть резервную копию из облака 1с Битрикс. Компания Битрикс предоставляет такую услуга, удобно, и вроде говорят что безопасно, но не верится. Для запуска вставляете ваш ключик и все. Начнется его подтягивание через интернет, далее следуете инструкциям мастера.

Как восстановить битрикс (Корпоративный портал) из резервной копии на примере CentOS-03

2 Способ

2. Скачать резервную копию с сайта. По сути указываете прямую ссылку на бэкап с удаленного сайта, либо можно выложить на кокой нибудь ftp сервер.

Как восстановить битрикс (Корпоративный портал) из резервной копии на примере CentOS-04

3 Способ

3. Загрузить локально. Выбираете файл с компа и поехали. Желательно, чтобы вы находились в одной локальной сети.

Как восстановить битрикс (Корпоративный портал) из резервной копии на примере CentOS-05

Первое во что упретесь это в ограничение размера загрузки в nginx. Можете получить типа


Меняем размер в конфиге

Как восстановить битрикс (Корпоративный портал) из резервной копии на примере CentOS-11

Параметр client_max_body_size, как раз и отвечает за максимальный размер. Правим его и сохраняем файл.

Как восстановить битрикс (Корпоративный портал) из резервной копии на примере CentOS-12

4 Способ

4. Способ это через ssh залить бэкап в корень / home/bitrix/www/ можно сделать с помощью winSCP (можно посмотреть в конце этой статьи как это сделать)

Как восстановить битрикс (Корпоративный портал) из резервной копии на примере CentOS-06

Как восстановить битрикс (Корпоративный портал) из резервной копии на примере CentOS-07

Как восстановить битрикс (Корпоративный портал) из резервной копии на примере CentOS-08

Как восстановить битрикс (Корпоративный портал) из резервной копии на примере CentOS-09

Как видим появился еще один пункт Архив загружен в корневую папку сервера, выбираем архив и жмем далее

Как восстановить битрикс (Корпоративный портал) из резервной копии на примере CentOS-10

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

Как восстановить битрикс (Корпоративный портал) из резервной копии на примере CentOS-11

Жмем восстановить. Указываем данные для доступа к базе данных:

  • Сервер базы данных > у меня localhost
  • Имя пользователя
  • Пароль
  • Имя базы данных

Как восстановить битрикс (Корпоративный портал) из резервной копии на примере CentOS-12

Все пошло восстановление базы данных и сайта битрикс.

Как восстановить битрикс (Корпоративный портал) из резервной копии на примере CentOS-13

Удаляем скрипты и резервные копии

Как восстановить битрикс (Корпоративный портал) из резервной копии на примере CentOS-14

Перейти на сайт. Все успешно восстановилось

Как восстановить битрикс (Корпоративный портал) из резервной копии на примере CentOS-15

Восстановление сайта на 1С Битрикс из резервной копии

Предлагаем пошаговую инструкцию в картинках по восстановлению сайта на 1С Битрикс из резервной копии. На Web сервере должно быть установлено 1С Битрикс Веб окружение.

  1. В административной панели 1С Битрикс в разделе резервное копирование создайте резервную копию сайта и скачайте эту копию к себе на компьютер. Также, в административной панели 1С Битрикс в разделе резервное копирование скопируйте к себе на компьютер файл restore.php.
  2. Войдите на свой Web сервер по протоколу ftp и замените в корне своего сайта (папка /home/bitrix/www) файл restore.php на файл полученный на предыдущем этапе. Дайте файлу restore.php права на выполнение.
  3. Войдите на свой Web сервер по протоколу http:
    • Если у вас Web сервер установлен на локальный компьютер в виртуальную машину, наберите в адресной строке браузера http://localhost:50080.
    • Если у вас Web сервер установлен в локальной сети, наберите в адресной строке браузера его IP адресс.
    • Если ваш Web сервер размещен у хостинг провайдера, обратитесь к нему по URL.

    Далее предлагаем просмотреть в screenshots последовательность действий, необходимых для восстановления сайта.

    Вновь установленное 1С Битрикс Веб окружение позволяет произвести новую установку 1С Битрикс или восстановить сайт из резервной копии. Мы выбираем Восстановить проект .

    На шаге 1 восстановления сайта на 1С Битрикс из резервной копии нам предлагают инструкцию по подготовке архива сайта. Мы уже подготовили архив и можем нажать Далее .

    На шаге 2 Восстановление сайта на 1С Битрикс из резервной копии мы выбираем загрузить файл с резервной копией с локального диска.

    Конфигурация нашего Web-сервера: Виртуальная машина на CentOS с установленным 1С Битрикс Веб-окружением. Поэтому на шаге 3 мы выбираем «Восстановление в Битрикс Веб-окружение» и нажимаем кнопку Восстановить .

    Шаг 3 «Восстановление базы данных 1С Битрикс» самый продолжительный этап.

    Восстанавливая сайт на 1С Битрикс из резервной копии, на шаге 3 «Восстановление базы данных» Вы можете столкнуться с предупреждением об ошибке:

    Внимание! Сайт работал в одно байтовой кодировке, а конфигурация сервера рассчитана на кодировку UTF-8. Установите php_value mbstring.func_overload=0 или php_value mbstring.internal_encoding=ISO-8859-1.

    Причина проблемы: Современное 1С Битрикс Веб окружение работает с сайтами в кодировке UTF-8. Если Ваш сайт старый, и Вы не устанавливали обновления ядра 1С Битрикс, скорее всего Ваш сайт работает в одно байтовой кодировке символов.

    Решение проблемы:

    Прежде чем нажать кнопку Восстановить , отредактируйте на Web сервере в корне своего сайта файл .htaccess:

    Закомментируйте в файле .htaccess 2 строки и добавьте две другие строки с правильными значениями переменных окружения mbstring.internal_encoding и mbstring.func_overload:

    Обратите внимание! Bitrix рекомендует кодировку ISO-8859-1, а мы ставим cp1251, так уж у нас в России повелось.

    Не правильно установленное значение переменной окружения mbstring.func_overload может приводить к различным ошибкам в работе Bitrix. Это — ошибки кодировки символов, ошибку авторизации на сайте и другие.

    Некоторые переменные окружения можно объявлять в корневом для сайта файле .htaccess. В том числе, и для mbstring.func_overload в файле .htaccess можно добавить строчку:

    Где 0 значение параметра mbstring.func_overload. Обратите внимание, в файле .htaccess значение параметра указывается через пробел.

    Однако, PHP версии старше 5.2 не читают mbstring.func_overload из файла .htaccess. В этой ситуации мы рекомендуем установить глобальную переменную mbstring.func_overload, например, вы можете добавить строчку в файл /etc/php.d/mbstring.ini:

    • Предыдущий пример из Centos 6.3 с установленным Bitrix Веб-окружением — Linux 4.2.
    • Если вы используете на сайте кодировку UTF-8, то значение mbstring.func_overload должно быть 2.

    Проверить результаты изменений в веб окружении можно через Панель управления Bitrix в разделе Настройки > Инструменты > Настройки PHP :

    Если у вас возникли какие либо вопросы которые вы не смогли решить по нашим публикациям самостоятельно,
    то ждем ваше обращение в нашей службе тех поддержки.

    Приступая к животрепещущей теме резервного копирования на «Битрикс», прежде всего хотелось бы поблагодарить разработчиков, реализовавших автоматическое резервное копирование в облачное хранилище в версии 12.0.8 и более поздних. В ранних версиях эта возможность не предусматривалась и резервное копирование сайта требовало непосредственного управления администратора или же довольно сложных ухищрений для автоматизации процесса своими силами. Мы обязательно вернемся к этому замечательному функционалу в будущем, а сейчас обсудим некоторые детали восстановления резервной копии сайта.

    1. Совместимость формата *.tar.gz

    Формат архива резервной копии *.tar.gz предназначен для распаковки файлом restore.php и корректно распаковывается только с его помощью. Распаковывать другими архиваторами целесообразно только для познавательных нужд или получения отдельных файлов скриптов и изображений, по какой-то причине утерянных. Делать собственные сборки и модификации резервной копии при помощи архиваторов rar, zip, 7z нецелесообразно, такой архив не будет распакован файлом restore.php.

    2. Пошаговое восстановление резервной копии

    А) Подготовьте окружение и архив

    На хостинге или локальной машине с полностью новой базой данных, или установленным заново веб-окружением помещаем в папку www файл restore.php. Актуальную версию restore.php скачайте на сайте «Битрикс». Загрузите также в папку www архив резервной копии с расширением .tar.gz

    Б) Запустите восстановление

    Сделайте это командой http://ваш_сайт:6448/restore.php

    В) Действия на Первом шаге

    Choose the language: [RU] – выберите язык

    Archive name: [200906031441_b2c12992.tar.gz] — выберите имя архива

    Step (sec.): [30] – укажите длительность шага распаковки

    Restore – перейдите ко Второму шагу

    Г) Действия на Втором шаге

    Database dump file: [200906031441_b2c12992.sql] — выберите имя архива базы данных

    User Name: [‘’] — не заполняйте

    Password: [‘’] — не заполняйте

    Database Name: [ ] — не заполняйте

    Database Host: [localhost:31006] – допустимы только имена localhost:31006 или localhost:3 6448 . Таковы настройки базы данных по умолчанию.

    Create database [ ] – не ставьте флаг (галочку).

    Система управления базами данных (СУБД) в CRM Битрикс24, как и другие СУБД, не защищена от неожиданной остановки сервиса. Это может как вызвать сбой в работе самого сервиса, так и повлиять на дальнейшую целостность и работоспособность баз и отдельно взятых таблиц.

    Рассмотрим, что делать в ситуации, когда мы видим ошибку, связанную с работой базы данных:

    Случайно повредилась таблица b_iblock

    1. Проверить сервис mysqlmysqld

    На данном этапе необходимо узнать текущий статус сервиса и попробовать его перезапустить. В большинстве случаев проблема не критична и решается простым перезапуском. Чтобы пройти этот шаг, нужно:

    • Зайти в консоль управления сервером.
    • Ввести команду service mysql status.
    • Ввести команду service mysql restart.

    Если сервис так и не смог стартовать, можно будет увидеть команды для просмотра логов:

    2. Попытка аварийного включения сервиса БД

    Если после шага 1 запустить сервис не удалось – необходимо включить его в аварийном режиме.

    • Для этого нужно зайти в директорию, где содержится конфигурация mysql, найти файл my.cnf (/etc/my.cnf), и вписать туда innodb_force_recovery = n, где n – число от 1 до 7.

    С увеличением числа сервис будет игнорировать всё больший объём ошибок.

    • После чего нужно сохранить файл и попытаться запустить БД:

    Service mysql start

    3. Попытка экспортировать резервную копию при аварийном режиме БД

    Далее нам нужно попытаться «вытянуть» всю информацию из базы.

    • Для этого воспользуемся стандартной командой mysqldump:

    mysqldump –u %user% -p %database_name% > %directory%/file.sql

    Логин, пароль и название базы можно найти в файле .settings.php в директории bitrix/.

    • На этом шаге может произойти ошибка экспорта, в нашем случае – это как раз та самая «битая» таблица. Можно прибегнуть к её пропуску при экспорте, для этого необходимо ввести:

    mysqldump -u %user% -p %database_name% —ignore-table=%database_name%.%table_name% > %directory%/file.sql

    • Чтобы пропустить несколько таблиц, просто повторяйте опцию столько раз, сколько потребуется:

    mysqldump -u %user% -p %database_name% —ignore-table=%database_name%.%table1 % —ignore-table=%database_name%.%table2 % > %directory%/file.sql

    В итоге дамп базы будет создан.

    4.Попытка импорта бэкапа

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

    Для этого нужно ввести команду:

    mysql -u %user% -p %database_name% < %directory%/file.sql

    Результатом будет восстановленная (лишь на часть) база.

    Все недостающие таблицы необходимо будет создать вручную.

    5.Как быть, если импорт заканчивается с ошибкой?

    В этом случае поможет полная переустановка сервиса MySQL

    Чтобы выполнить её, необходимо:

    1. Удалить всё, что находится в папке mysqld:

    rm -rf /var/lib/mysqld

    2. Инициализируем новую БД (параметр force_recovery должен быть предварительно убран из my.cnf):

    mysqld —initialize-insecure —basedir=/usr —datadir=/var/lib/mysql

    3. Создаём сокет и даём права на файл пользователю MySQL

    mkfifo /var/lib/mysqld/mysqld.sock

    chown -R mysql /var/lib/mysqld/mysqld.sock

    4. Запускаем mysql

    systemctl start mysqld mysql -u root

    5. Меняем root-пароль

    mysql> ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘MyNewPass’;

    Далее необходимо заново пройти шаг №4, после чего выключить аварийный режим mysql и перезагрузить сервис. Недостающие таблицы (если они не были созданы вручную при кастомизации системы) можно перенести с аналогичных проектов. Важно перенести именно структуру таблицы, без содержания.

    Если вы еще не восстанавливали/переносили Битрикс на свеженький (или не очень) сервер с PHP 7, то вы счастливый человек. Нет, сам Битрикс на PHP 7 работает более чем хорошо, я бы даже сказал, что намного лучше, чем на 5.X.

    Т.е. все прекрасно, кроме самого процесса переноса. Если вы воспользуетесь официальным инструментом от Битрикса – скриптом restore.php, то столкнетесь с проблемами. Собственно, как только дело дойдет до восстановления базы данных – сервер упадает в 500 ошибку, а в логах появится следующая запись:

    PHP Fatal error:  Uncaught Error:Call toundefined functionmysql_connect()in/var/www/html/restore.php:1328

    Stack trace:

    #0 /var/www/html/restore.php(670): CDBRestore->Connect()

    #1 {main}

      thrown in/var/www/html/restore.php on line1328

    Т.е. в скрипте по прежнему используется старая библиотекой php для работы с MySQL, вместо mysqli – уже как несколько лет обозначенной, как единственно верное и поддерживаемое решение.
    А в PHP 7 больше нет поддержки старой библиотеки для mysql, это известно всем, кроме тех людей которые занимаются скрипом восстановления (я уверен, что им уже сказали, но пока они раскачаются…).

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

    Собственно решение тут одно, взять и поправить код скрипта, благо правок так немного. Что и было сделано:

    • Убран код, который скачивает свежую версию скрипта с Битрикса и подменяет текущий файл;
    • Собственно все старые не поддерживаемые функции заменены на аналоги из mysqli

    Скачать: bitrix_restore_php7

    Как только в Битрикс выпустят свою нормальную версию – ссылку заменю на официальный продукт.

    Upd: Вышел официальный restore.php с поддержкой mysqli.

    bySIB media 
    поддержи меня лайком, просмотром или подпиской!

    Дзен bySIB — тут еще больше полезных статей и лайфхаков!

    Подпишись!

    Система Orphus

    Для покупки программы пишите сюда или на почту bysib@yandex.ru

    Ошибка при восстановлении базы данных в битриксе

    Коротко о сути проблемы: при восстановлении резервной копии сайта на CMS битрикс на локалке через OpenServer возникла ошибка как на скриншот выше, а именно по тексту: 

    Сайт работал в кодировке UTF-8. Конфигурация сервера не соответствует требованиям, установите mbstring.func_overload=2 и mbstring.internal_encoding=UTF-8.

    Для решения этой проблемы существует 2 способа, об этом подробнее ниже:

    О первом способе я писал ранее в этой
    статье.

    О втором далее и пойдет речь.

    В случае, если архив уже распакован (нужно убедиться в этом, для этого перейдите в папку с сайтом), то необходимо перейти в папку по
    адресу: /bitrix/php_interface/ и открыть файл с названием: dbconn.php и закомментировать строку: define(«BX_UTF», true);

    После этой манипуляции пробуем заново развернуть бэкап, если все сделали верно, то система успешно развернет резервную копию сайта.

    После успешного восстановление сайта необходимо раскомментировать строку.

    Внимание! При восстановлении БД в этот файл дописываются данные доступа, поэтому на время восстановления надо его закрыть или
    переоткрыть снова после восстановления.

    Инструкция была проверена не менее 3-х раз.
    А помогла ли статья вам? Поделитесь в комментариях!

    Tags: windows, инструкции, интернет, openserver, битрикс, bitrix

    Если у Вас Битрикс старше 16 версии:
    1) Проверьте новый сервер через bitrix_server_test.php
    2) Закройте публичную часть сайта
    3) Проверьте сайт на ошибки (проверка системы)
    4) Сделайте бекап проекта в в папку на сервере, а не в облако
    5) Скачайте бекап на локальный компьютер
    6) Загрузите архивы вместе с restore.php на новый сервер
    7) Восстановите сайт из загруженного архива

    Если младше 16 версии:
    1) Проверьте новый сервер через bitrix_server_test.php
    2) Закройте публичную часть сайта
    3) Вручную сделайте бекап файлов проекта (лучше всего походит tar)
    4) Вручную сделайте бекап базы данных
    5) Загрузите файлы и базу на новый сервер
    6) В /bitrix/.settings.php, /bitrix/.settings.extra.php и /bitrix/php_interface/dbconn.php поменяйте данные доступа
    7) На распакованном сайте в административном разделе правьте все отсылки к старому сайту

    В обоих случаях после восстановления очистить папки /bitrix/cache/, /bitrix/managed_cache/ и /bitrix/stack_cache/.
    Если каких либо папок нет, не переживать и продолжать дальше.

    При восстановлении резервной копии сайта 1С Битрикс на локальной машине выскочила ошибка как на скриншоте выше.

    Если вы как и я используете Open Server, то для устранения ошибки нужно установить для строки mbstring.func_overload значение равное 2 и mbstring.internal_encoding = UTF-8 соответственно.

    Для этого находим в трее значок Open Server кликаем на нем правой клавишей мыши -> Дополнительно -> Конфигурация — > PHP 5.6.

    Открывается файл в редакторе, с помощью поиска CTRL+F5 находим в нем необходимые строки, при необходимости раскомментируйте код и установите необходимые значения. После чего сохраните файл.

    Внимание! После всех вышеизложенных действий не забудьте перезапустить Open Server, иначе чуда не произойдет!

    Если вы все сделали по инструкции бэкап будет успешно распакован!

    А помогла ли статья вам? Поделитесь в комментариях!


    Просмотров:
    824

    Если вдруг захотите меня отблагодарить, то вот:

    или просто подпишитесь на мой канал на youtube, лайки и комментарии приветствуются

    Спасибо!

    Понравилась статья? Поделить с друзьями:
  4. Ошибка при восстановить айфон 4013
  5. Ошибка при восстановлении прошивки ipad
  6. Ошибка при восстановить айфон 4010
  7. Ошибка при восстановлении подключения не найден сетевой путь windows
  8. Ошибка при восстановить айфон 3194