[MASOCH-L] Freeradius - MySQL replication

davi peres daviperes at gmail.com
Fri Dec 12 10:31:34 BRST 2014


tambem não manjo muito mas o meu slave esta assim:

server-id       = 2
master-host     =  192.168.x.x
master-user     =  replicador
master-password = xxxxx
master-port     =  3306

criei um usuario replicador no master com acesso a tudo... será que não
esta faltando voce configurar quem é o seu master? vi que voce fez a
replicação manual inicial.

Em 12 de dezembro de 2014 10:04, Daniel Vasconcelos <
vdaniel at tcheturbo.com.br> escreveu:
>
> E aí galera!
> Seguinte, to montando uma máquina para "espelhar" o meu servidor radius,
> porém, estou tendo um problema com o MySQL. As configurações do freeradius
> em si estão todas corretas (fiz testes de autenticação e funcionou
> perfeitamente). Porém, o meu problema começa quando eu estou replicando o
> banco de dados.
>
> Tenho o servidor MASTER e o SLAVE, sendo que:
> Master: rodando o serviço freeradius e consequentemente o banco de dados;
> Slave: rodando o serviço freeradius e consequentemente o banco de dados;
>
> A configuração do arquivo "/etc/mysql/my.cnf" em ambas as máquinas está
> assim:
>
>
> ## MASTER
> server-id       = 1
> log_bin         = /var/log/mysql/mysql-bin.log
> expire_logs_days        =10
> max_binlog_size         = 100M
> binlog_do_db              = radius
>
> ## SLAVE
> server-id               = 2
> log_bin                 = /var/log/mysql/mysql-bin.log
> relay-log               = /var/log/mysql/mysql-relay-bin.log
> log-slave-updates       = 1
> expire_logs_days        = 10
> max_binlog_size         = 100M
> binlog_do_db            = radius
>
> A partir disso, para que a replicação acontecesse, efetuei os seguintes
> procedimentos (partindo do princípio de que a questão de usuários já
> estejam configurados):
>
> No servidor MASTER:
> Travei as tabelas como somente leitura;
> Peguei a posição do arquivo bin (show master status;);
> Fiz a exportação da base para o servidor slave;
>
> No servidor SLAVE:
> Fiz a importação da base;
> Executei o comando no mysql: CHANGE MASTER TO MASTER_HOST='meuhost',MASTER_USER='replication',
> MASTER_PASSWORD='senha', MASTER_LOG_FILE='mysql-bin.000006',
> MASTER_LOG_POS=  74949498;
> Em seguida: slave start;
>
> A partir dai, tudo estava correndo bem, até que na manhã seguinte, cheguei
> no trabalho e fui verificar como estava a replicação.
> No MySQL do servidor slave digitei o comando: show slave status\G;
> Para minha felicidade estava tudo certo até então. Porém, mais tarde, fui
> verificar novamente o status, e me deparei com um erro:
>
> mysql> show slave status\G;
> *************************** 1. row ***************************
>                Slave_IO_State: Waiting for master to send event
>                   Master_Host: meuhost
>                   Master_User: replicator
>                   Master_Port: 3306
>                 Connect_Retry: 60
>               Master_Log_File: mysql-bin.000009
>           Read_Master_Log_Pos: 50811963
>                Relay_Log_File: mysql-relay-bin.000003
>                 Relay_Log_Pos: 244
>         Relay_Master_Log_File: mysql-bin.000001
>              Slave_IO_Running: Yes
>             Slave_SQL_Running: No
>               Replicate_Do_DB:
>           Replicate_Ignore_DB:
>            Replicate_Do_Table:
>        Replicate_Ignore_Table:
>       Replicate_Wild_Do_Table:
>   Replicate_Wild_Ignore_Table:
>                    Last_Errno: 1194
>                    Last_Error: Error 'Table 'radacct' is marked as crashed
> and should be repaired' on query. Default database: 'radius'. Query:
> 'UPDATE radacct           SET framedipaddress = '10.10.4.5',
> acctsessiontime     = '53400',              acctinputoctets     = '0'  <<
> 32 |                                    '40914351', acctoutputoctets    =
> '0' << 32 |                                    '362241158'           WHERE
> acctsessionid = '810033f5'           AND username        = 'jaguar'
>    AND nasipaddress    = '10.54.2.5''
>                  Skip_Counter: 0
>           Exec_Master_Log_Pos: 98
>               Relay_Log_Space: 725792285
>               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: NULL
> Master_SSL_Verify_Server_Cert: No
>                 Last_IO_Errno: 0
>                 Last_IO_Error:
>                Last_SQL_Errno: 1194
>                Last_SQL_Error: Error 'Table 'radacct' is marked as crashed
> and should be repaired' on query. Default database: 'radius'. Query:
> 'UPDATE radacct           SET framedipaddress = '10.10.4.5',
> acctsessiontime     = '53400',              acctinputoctets     = '0'  <<
> 32 |                                    '40914351', acctoutputoctets    =
> '0' << 32 |                                    '362241158'           WHERE
> acctsessionid = '810033f5'           AND username        = 'jaguar'
>    AND nasipaddress    = '10.54.2.5''
>   Replicate_Ignore_Server_Ids:
>              Master_Server_Id: 1
> 1 row in set (0.00 sec)
>
> ERROR:
> No query specified
>
>
> Bom, estou preocupado, pois não tenho experiência com replicação do MySQL,
> mas li bastante sobre e fui surpreendido com esta inconsistência de
> informação. Alguém saberia explicar um possível motivo de isso ter
> acontecido? E a partir disso, como posso revidar? Devo fazer o processo de
> exportação/importação novamente?
>
> Atenciosamente
> --
> Daniel Vasconcelos
> IT Analyst
>
> __
> masoch-l list
> https://eng.registro.br/mailman/listinfo/masoch-l
>


More information about the masoch-l mailing list