информационная безопасность
без паники и всерьез
 подробно о проекте
За кого нас держат?Где водятся OGRыСетевые кракеры и правда о деле Левина
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Chainalysis раскрыла взлом собственных... 
 SMS of Death для Android 
 Исследователи Anthropic продемонстрировали... 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / sysadmin
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
syntax to use near '')л' at line 1' on query. 22.05.07 06:45  Число просмотров: 3260
Автор: void <Grebnev Valery> Статус: Elderman
<"чистая" ссылка>
syntax to use near '')л' at line 1' on query.

У меня на прошлой неделе была похожая ошибка. Оказалось, 5.0.34 некорректно пишет bin-log: если stored procedure имеет один из аргументов BIT(1), то запросы в bin-log содержат случайные символы для этой константы. Как следствие, slave не может выполнить relay лог. Вылечил заменой аргументов BIT(1) на TINYINT(1) во всех SP.


> Вопросы:
> 1. Можно ли как-то поредактировать бинарный лог, чтобы
> убрать/поправить некорректно пришедший запрос?
> 2. Можно ли как-то откатиться по бинарному логу
> server1-bin.000008, и заново его передать?

Мне самому интересно %).
По 1) думаю да (binary log - там ведь текстовый файл по существу)
По 2) думаю нет.
<sysadmin>
Изменение бинарного лога MySQL 18.05.07 14:47  
Автор: ZaDNiCa <indeed ZaDNiCa> Статус: Elderman
<"чистая" ссылка>
Есть два сервера MySQL-5.0.33 с репликацией Master-Master. Чтобы не пересекались добавляемые данные установлено на первом
auto_increment_increment = 2
auto_increment_offset = 1
на втором
auto_increment_increment = 2
auto_increment_offset = 2

Произошел какой-то сбой - и данные с одного на другой передались некорректно. Вот что в логе принимающего сервера:
070518 12:43:10 [ERROR] Slave: Error '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 '')л' at line 1' on query. Default database: 'replica'. Query: 'update com_whos_online set customer_id = '0', full_name = 'Guest', ip_address = '11.22.33.44', time_last_click = '1179409360', last_page_url = http://ddate_format(now(), '%Y%m%d')л', Error_code: 1064
070518 12:43:10 [ERROR] Error running query, slave SQL thread aborted. Fix the problem, and restart the slave SQL thread with "SLAVE START". We stopped at log 'server1-bin.000008' position 689010453

Хотя в бинарном логе на сервере откуда передавались данные SQL выглядит так:
update com_whos_online set customer_id = '0', full_name = 'Guest', ip_address = '11.22.33.44', time_last_click = '1179409360', last_page_url = 'http://xxx.xxx.xxx/crosman-phantom-p-1012144.html?cPath=1000614' where session_id = '3ebsqsl4mmln55o9v474dtmo01';
Вопросы:
1. Можно ли как-то поредактировать бинарный лог, чтобы убрать/поправить некорректно пришедший запрос?
2. Можно ли как-то откатиться по бинарному логу server1-bin.000008, и заново его передать?
syntax to use near '')л' at line 1' on query. 22.05.07 06:45  
Автор: void <Grebnev Valery> Статус: Elderman
<"чистая" ссылка>
syntax to use near '')л' at line 1' on query.

У меня на прошлой неделе была похожая ошибка. Оказалось, 5.0.34 некорректно пишет bin-log: если stored procedure имеет один из аргументов BIT(1), то запросы в bin-log содержат случайные символы для этой константы. Как следствие, slave не может выполнить relay лог. Вылечил заменой аргументов BIT(1) на TINYINT(1) во всех SP.


> Вопросы:
> 1. Можно ли как-то поредактировать бинарный лог, чтобы
> убрать/поправить некорректно пришедший запрос?
> 2. Можно ли как-то откатиться по бинарному логу
> server1-bin.000008, и заново его передать?

Мне самому интересно %).
По 1) думаю да (binary log - там ведь текстовый файл по существу)
По 2) думаю нет.
вот что было 18.05.07 17:29  
Автор: ZaDNiCa <indeed ZaDNiCa> Статус: Elderman
<"чистая" ссылка>
В момент ротации relay-log произошла запись в него (странно - как-то такое получилось) и конец запроса не был записан.
Решил проблему путем отключения bin-log на принимающем сервере и выполнения побитого запроса (отключение лога для того чтобы это изменение не передалось на второй сервер) и вручную передвинул идентификатор последней выполненной репликации (файл relay-log.info)
1





Рейтинг@Mail.ru


  Copyright © 2001-2026 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach