есть головной сервер: mysql Ver 12.21 Distrib 4.0.15a, for slackware-linux (i486)
и есть подчиненный: mysql Ver 14.7 Distrib 4.1.19, for portbld-freebsd6.1 (i386) using 5.0настроил репликацию на 7ми гиговую базу. всё по доке с dev.mysql.com
головной сервер используется в качестве базу для биллинга и поэтому запросами, изменяющими данные он довольно сильно нагружен.
запускаю полчиненнный:
mysql> start slave;
Query OK, 0 rows affected (0.00 sec)в логах активно пошло шуршание. но посмотрев в лог через пять минут, обнаружил что SQL thread застыл на месте, и данные в базу из головного сервера паерестали поступать. I/O thread при этом работает, хотя бы судя по тому что relay_log на подчиненным сервере постоянно растет и позиция его совпадает с позицией на головном серваке нога в ногу.
если сделать stop slave sql_thread; потом через пять минут start slave sql_thread, то данные в базу начинают заносится буквально несколько секунд и потом снова sql_thread ничего не делает, несмотря на то что relay_log уже просто раздуло от инсертов.
кто-нибудь можно объяснить причину такой картины:mysql> show slave status\G
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: XX.XX.XX.XX
Master_User: repluser
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: x-bin.003
Read_Master_Log_Pos: 20166981
Relay_Log_File: bar-relay-bin.000002
Relay_Log_Pos: 14634496
Relay_Master_Log_File: x-bin.002
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB: mycompany
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table: mysql.%
Last_Errno: 0
Last_Error:
Skip_Counter: 0
Exec_Master_Log_Pos: 125999979
Relay_Log_Space: 83116850
Until_Condition: None
Until_Log_File:
Until_Log_Pos: 0
Master_SSL_Allowed: No
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master: 14292
1 row in set (0.01 sec)почему значение Exec_Master_Log_Pos так сильно отстало от Read_Master_Log_Pos ?
и вообще застряло где то в середине x-bin.002, когда в релей логах давно уже есть x-bin.003 с более актуальными данными.может это быть из-за того что слишком разные версии mysql'a? но ведь в мануале явно я видел что 4.0.х и 4.1.х совместимы, если только головной сервер не старше подчиненного, что в даноом случае у меня выполняется.
обновлять головной сервер мне пока крайне проблематично, кто-нибудь знает где можно взять старые версии mysql'a? надо хотя бы на тестовой машинке погонять обе эти версии на предмет репликации только с более мелкими базами :)
ну что , дельных советов никто не даст?