powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Не работает событие.
5 сообщений из 5, страница 1 из 1
Не работает событие.
    #39383603
k.kuzmichev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет !

Создал табличку create table e_test (id int) engine = MyISAM;

Создал простое событие , которое пишет в таблицу значение с интервалом в минуту
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
DELIMITER $$
CREATE EVENT e_test
    ON SCHEDULE EVERY 1 minute
    STARTS CURRENT_TIMESTAMP 
    ENDS CURRENT_TIMESTAMP  + INTERVAL 3 minute
    DISABLE ON SLAVE         
    DO
    begin
        declare max_id int;
        
        select max(id) + 1
          from e_test
          into max_id; 
        
        insert into e_test values (ifnull(max_id,0)) ; 
    end ;
    $$
DELIMITER ;



включил события
SET GLOBAL event_scheduler = ON;

в процессах присутствует демон.

Но почему-то не пишется в табличку ничего , если убрать DISABLE ON SLAVE, то все работает, А нужно так чтоб в Мастере событие работало а на слейве - нет.
Mysql 5.7.17-log

Кто может подсказать в чем проблема ?

PS : show master status;- показывает бин лог , т.е. сервер является мастером.
...
Рейтинг: 0 / 0
Не работает событие.
    #39383712
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
k.kuzmichevпочему-то не пишется в табличку ничего , если убрать DISABLE ON SLAVE, то все работает, А нужно так чтоб в Мастере событие работало а на слейве - нет.А как настроена репликация?
...
Рейтинг: 0 / 0
Не работает событие.
    #39383967
k.kuzmichev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Репликация на моем сервере не настроена , Я просто прописал в my.cfg следующие строки
Код: powershell
1.
2.
3.
4.
5.
6.
7.
8.
9.
server-id = 1
log-bin = mysql-bin
log-bin-index = mysql-bin.index
log-error = mysql-bin.err
relay-log = relay-bin
relay-log-info-file = relay-bin.info
relay-log-index = relay-bin.index
expire_logs_days=7
binlog-do-db = master



Я подазреваю что этого хватит чтобы понять что сервер является мастером , или Я ошибаюсь ?

На проде один мастер и два слейва.
...
Рейтинг: 0 / 0
Не работает событие.
    #39383972
k.kuzmichev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Команда :
Код: plsql
1.
show master status;      


показывает :
Код: plsql
1.
2.
# File, Position, Binlog_Do_DB, Binlog_Ignore_DB, Executed_Gtid_Set
'mysql-bin.000001', '88875', 'master', '', ''
...
Рейтинг: 0 / 0
Не работает событие.
    #39384425
k.kuzmichev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Решение найдено :

Документация :
In the case of CREATE EVENT and ALTER EVENT:
The status of the event is set to SLAVESIDE_DISABLED on the slave regardless of the state specified (this does not apply to DROP EVENT).

то есть убираем DISABLE ON SLAVE , данный ивент запустится на мастере , а на слейве ивент будет иметь статус SLAVESIDE_DISABLED автоматически, не смотря та то запущен ил не запущен процесс событий.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Не работает событие.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]