Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Блокировка входа admin


Recommended Posts

Добрый день.Имеем: Opencart 2.3.0.2. Развернут на Ubuntu (хостер reg.ru). Есть работоспособные бэкапы (делаются rsync средствами хостера) на момент их создания. После разворачивания бэкапа сайт худо-бедно продолжил работу, однако войти в админку нельзя. При вводе правильного пароля происходит редирект и мне снова показывают окно авторизации (в адресной строке https://xxxx.ru/upload/admin/index.php?route=common/login&token=6HncARmCgFlO8a39DUXPVDaTENyW7123). При вводе неправильного пароля - говорят, что " Такой логин и/или пароль не существует!", то есть система различает и по сути признает пароль верным. Что это может быть и как это исправить?

Змінено користувачем kamakama
Надіслати
Поділитися на інших сайтах


Надіслати
Поділитися на інших сайтах


Итак, опытным путем получены следующие результаты

1) Стандартная установка Opencart содержит скрипт создания структур СУБД, в которой таблица cart имеет тип innodb. Мой хостер использует rsync для копирования бэкапов, но честно признается, что Innodb корректно не обрабатываются. Хостер не врет - при развертывании бэкапа mysql стартует с ошибкой. Однако после замены типа и дальнейшей операции свертки - развертки бэкапа результатов нет - mysql стартует нормально, но админку все равно не пускает. Есть подозрение, что rsync некорректно отрабатывает копирование СУБД. Оно и понятно - мало кому понятно, что и где там закэширует ядро СУБД

2) Сейчас я буду пробовать поставить другие средства копирования, как вариант - раздельное копирование БД средствами СУБД и остальной системы. Буду пробовать

Змінено користувачем kamakama
Надіслати
Поділитися на інших сайтах


попытайтесь верно сформулировать вопрос

1.

в которой таблица cart имеет тип innodb.

 

Ух.. и правда

 

DROP TABLE IF EXISTS `oc_cart`;
CREATE TABLE `oc_cart` (
  `cart_id` int(11) NOT NULL AUTO_INCREMENT,
  `customer_id` int(11) NOT NULL,
  `session_id` varchar(32) NOT NULL,
  `product_id` int(11) NOT NULL,
  `recurring_id` int(11) NOT NULL,
  `option` text NOT NULL,
  `quantity` int(5) NOT NULL,
  `date_added` datetime NOT NULL,
  PRIMARY KEY (`cart_id`),
  KEY `cart_id` (`customer_id`,`session_id`,`product_id`,`recurring_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;

 

Но!!! это оправдано, с точки зрения транзакций. Эта таблица для оперативных данных, требующих достоверности событий.

 

Не понятно причем здесь кеширование СУБД при бекапе

Надіслати
Поділитися на інших сайтах

попытайтесь верно сформулировать вопрос

1.

Ух.. и правда

 

DROP TABLE IF EXISTS `oc_cart`;

CREATE TABLE `oc_cart` (

  `cart_id` int(11) NOT NULL AUTO_INCREMENT,

  `customer_id` int(11) NOT NULL,

  `session_id` varchar(32) NOT NULL,

  `product_id` int(11) NOT NULL,

  `recurring_id` int(11) NOT NULL,

  `option` text NOT NULL,

  `quantity` int(5) NOT NULL,

  `date_added` datetime NOT NULL,

  PRIMARY KEY (`cart_id`),

  KEY `cart_id` (`customer_id`,`session_id`,`product_id`,`recurring_id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;

 

Но!!! это оправдано, с точки зрения транзакций. Эта таблица для оперативных данных, требующих достоверности событий.

 

Не понятно причем здесь кеширование СУБД при бекапе

Все просто - у меня есть предположение, что rsync некорректно обрабатывает бэкап этих таблиц. При развертывании бэкапа БД восстанавливается не полностью, что влечет за собой такие проблемы. Почему я так думаю - потому что до бэкапа все работает, а после развертывания - не все. Вот буду пробовать, как с этим бороться

Надіслати
Поділитися на інших сайтах


Давйте с самого начала

Что такое  rsync

Ну для общего понимания

 

Каким обаразом вы запускаете синхронизацию

Какая структура у источника

Умеет ли rsync это делать?

Надіслати
Поділитися на інших сайтах

Давйте с самого начала

Что такое  rsync

Ну для общего понимания

 

Каким обаразом вы запускаете синхронизацию

Какая структура у источника

Умеет ли rsync это делать?

https://www.reg.ru/support/hosting-i-servery/servery-vps/dopolnitelnye-uslugi-vps/rezervnoe-kopirovanie-vps - вот собственно такое описание и только у меня есть

Змінено користувачем kamakama
Надіслати
Поділитися на інших сайтах


НУ!!!!

 

 

Если в базе данных вы используете тип таблиц InnoDB, мы рекомендуем настраивать резервное копирование через ISPmanager. В рамках платной услуги таблицы InnoDB из бэкапов восстанавливают некорректно.

И...

Надіслати
Поділитися на інших сайтах

НУ!!!!

 

И...

ииии варианты решения

1) Использовать предлагаемое решение в виде другого механизма бэкапов. Но полный бэкап по технологии ISPmanager делается  час с 1 ГБ оригинального образа. Мягко говоря, фигово. Разворачивать обратно пока не пробовал

2) Поменять тип таблицы. Для меня не критично, трафик пока маленький.

3) Гибрид - перед бэкапом rsync делать копию базы средствами mysql. А при разворачивании - подменять обратно. Геммор конретный

4) Тупо поменять хостера. Хотя не факт, что это поможет

Вот пробую все варианты

А вообще - испытываю жгучее желание заменить mysql на postgresql. Там таких проблем отродясь нет, что бы для разных типов таблиц были собственные утилиты резервного копирования. Бред какой то. https://habrahabr.ru/post/137380/

Змінено користувачем kamakama
Надіслати
Поділитися на інших сайтах


И в свете всего сказанного - а кто и каким образом организует бэкапы БД и текстов движка. Ну, например, при установке компонентов или модификаторов. А потом как возвращаете все обратно?

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.