[MASOCH-L] Freeradius - MySQL replication

Marcelo Dieder marcelodieder at gmail.com
Fri Dec 12 10:45:43 BRST 2014


Sugiro utilizar a replicação Galera para MySQL ou Mariadb. É mais simples,
funciona como master-master e estes problemas de replicação de instrução
MySQL deixam de ocorrer....Se vc ainda juntar com haproxy facilita o LB e
HA do freeradius.

Abs
Marcelo
Em 12/12/2014 10:31, "davi peres" <daviperes at gmail.com> escreveu:

> 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
> >
> __
> masoch-l list
> https://eng.registro.br/mailman/listinfo/masoch-l
>


More information about the masoch-l mailing list