SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 16.06.2015 20:13:30

fraer
Участник
Зарегистрирован: 16.06.2015
Сообщений: 5

Помогите пожалуйста с репликацией master-->slave

Всем Здраствуйте! Появилась проблема:

Вообщем Slave не догоняет master. 
Значения:
            Slave_IO_Running: Yes
            Slave_SQL_Running:Yes
Seconds_Behind_Master: растет

show processlist; не показывает ничего

вот пример my.cnf:
user = mysql
pid-file = /var/run/mysqld/mysqld2.pid
socket = /var/run/mysqld/mysqld2.sock
port = 3308
datadir = ****
tmpdir = /var/lib/mysql_tmp
log-error=/var/log/mysql/******
skip-external-locking
skip-name-resolve
binlog_format=mixed
relay-log=mysqld2-relay-bin
log-bin=mysql-bin
key_buffer = 16M
max_allowed_packet = 16M
thread_stack = 192K
thread_cache_size = 8
#myisam-recover = BACKUP
#query_cache_limit = 1M
#query_cache_size = 16M
server-id = 3
expire_logs_days = 10
max_binlog_size = 100M
bind-address    = 0.0.0.0
slave-skip-errors = 1062
log-slave-updates = 1
log-bin=mysql-bin

На мастере в логах максимум что нашел:
[Warning] 'user' entry 'root@*******' ignored in --skip-name-resolve mode.

В чем может быть проблема? Подскажите пожалуйста. Заранее спасибо!

Отредактированно fraer (16.06.2015 20:14:02)

Неактивен

 

#2 17.06.2015 12:25:52

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6756

Re: Помогите пожалуйста с репликацией master-->slave

SHOW PROCESSLIST не может не показывать ничего, он должен отдать как минимум одну строчку с текущим запросом. Можете показать полный вывод?

Неактивен

 

#3 17.06.2015 15:09:43

fraer
Участник
Зарегистрирован: 16.06.2015
Сообщений: 5

Re: Помогите пожалуйста с репликацией master-->slave

paulus написал:

SHOW PROCESSLIST не может не показывать ничего, он должен отдать как минимум одну строчку с текущим запросом. Можете показать полный вывод?

show slave status\G
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: **********
Master_User: *******
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000177
Read_Master_Log_Pos: 33395470
Relay_Log_File: mysqld2-relay-bin.000002
Relay_Log_Pos: 19206
Relay_Master_Log_File: mysql-bin.000177
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB:
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno: 0
Last_Error:
Skip_Counter: 0
Exec_Master_Log_Pos: 19609659
Relay_Log_Space: 13805175
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: 13282
Master_SSL_Verify_Server_Cert: No
Last_IO_Errno: 0
Last_IO_Error:
Last_SQL_Errno: 0
Last_SQL_Error:
Replicate_Ignore_Server_Ids:
Master_Server_Id: 55
1 row in set (0,00 sec)

Exec_Master_Log_Pos и Relay_Log_Space бегут, но Seconds_Behind_Master все больше и больше. На практике такое первый раз и это ненормально.....


show processlist; из под root
+----+-------------+-----------+------+---------+-------+----------------------------------+------------------+-----------+---------------+-----------+
| Id | User | Host | db | Command | Time | State | Info | Rows_sent | Rows_examined | Rows_read |
+----+-------------+-----------+------+---------+-------+----------------------------------+------------------+-----------+---------------+-----------+
| 2 | system user | | NULL | Connect | 40685 | Waiting for master to send event | NULL | 0 | 0 | 0 |
| 3 | system user | | NULL | Connect | 42875 | Reading event from the relay log | NULL | 0 | 1 | 1 |
| 7 | root | localhost | NULL | Query | 0 | NULL | show processlist | 0 | 0 | 0 |
+----+-------------+-----------+------+---------+-------+----------------------------------+------------------+-----------+---------------+-----------+

Неактивен

 

#4 17.06.2015 17:38:11

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6756

Re: Помогите пожалуйста с репликацией master-->slave

Reading event from the relay log — это как раз исполнение команды, просто там нет
запроса, данные записаны в binlog_format=row, соответственно, показать нечего.

Скорее всего, на мастере выполнился какой-то большой запрос, который потрогал
много строчек, и эти строки применяются. Не уверен, но, скорее всего, у Вас будет
увеличиваться Exec_Master_Log_Pos в выводе SHOW SLAVE STATUS в процессе
выполнения этой транзакции. Ну и посмотрите на вывод mysqlbinlog, может быть,
там сможете каким-то образом сматчить запросы в таблички.

Ну и binlog_format=mixed может Вам помочь во многих случаях.

Неактивен

 

#5 27.06.2015 16:10:02

fraer
Участник
Зарегистрирован: 16.06.2015
Сообщений: 5

Re: Помогите пожалуйста с репликацией master-->slave

paulus написал:

Reading event from the relay log — это как раз исполнение команды, просто там нет
запроса, данные записаны в binlog_format=row, соответственно, показать нечего.

Скорее всего, на мастере выполнился какой-то большой запрос, который потрогал
много строчек, и эти строки применяются. Не уверен, но, скорее всего, у Вас будет
увеличиваться Exec_Master_Log_Pos в выводе SHOW SLAVE STATUS в процессе
выполнения этой транзакции. Ну и посмотрите на вывод mysqlbinlog, может быть,
там сможете каким-то образом сматчить запросы в таблички.

Ну и binlog_format=mixed может Вам помочь во многих случаях.

Спасибо, если исключить из репликации одну базу данных - репликация работает как надо! Будем делать репликацию без этой базы данных.

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson