mysql event對主從的影響

psufnxk2000發表於2015-07-23
event_scheduler對主從的影響:
1 對於已經存在的主從, 新建立events沒有影響。
2 對於新建立的主從,如果有events ,那麼需要在從庫上把event_scheduler設定為off.

從庫提升為主庫的時候需要考慮event
把event的狀態改為 enable:  alter event event_test_insert enable;




實驗:
已經存在的主從環境:
在主庫上:

mysql> use test;
Database changed
mysql> show tables;
Empty set (0.00 sec)

mysql> create table song_test (id int primary key);
Query OK, 0 rows affected (0.01 sec)


delimiter //
create procedure insert_pro()
begin
insert into song_test values (unix_timestamp());
end
//


CREATE EVENT event_test_insert
ON SCHEDULE EVERY 10 SECOND
DO call insert_pro()//

主庫和從庫的event_scheduler都為 on

觀察,發現主從狀態是正常的。沒有什麼異樣。

從庫上會自動建立好這個event,
但是主從的狀態是不一致的。

主庫:
mysql> select event_name ,status from information_schema.events;
+-------------------+---------+
| event_name        | status  |
+-------------------+---------+
| event_test_insert | ENABLED |
+-------------------+---------+
1 row in set (0.00 sec)
從庫:

mysql> select event_name ,status from information_schema.events;
+-------------------+--------------------+
| event_name        | status             |
+-------------------+--------------------+
| event_test_insert | SLAVESIDE_DISABLED |
+-------------------+--------------------+
1 row in set (0.00 sec)
SLAVESIDE_DISABLED 這個狀態的意思是 從別的主庫同步過來的event, 本身不會執行。


新建主從環境:
但是如果是在主庫上匯出,在另一個庫上匯入,然後把這個庫做為從庫的話, 那麼這個從庫上的events狀態是enabled的,也是自己會執行。
為了保證主從的狀態一致,所以在從庫上要 把 event_scheduler設定為 off

轉載請註明源出處
QQ 273002188  歡迎一起學習

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25099483/viewspace-1745466/,如需轉載,請註明出處,否則將追究法律責任。

相關文章