Este texto relata um dos problemas que enfrentei quando fui trabalhar com o sistema
Myauth 3, do Patrick Brandao. O software é muito bom para quem quer administrar provedor de acesso, porém existem suas limitações, e uma delas foi 2 ou mais autenticadores funcionarem com a mesma base de dados.
Primeiro baixe o fonte do phpMyAdmin no site:
# wget http://sourceforge.net/settings/mirror_choices?projectname=phpmyadmin&filename=phpMyAdmin/3.3.5.1/phpMyAdmin-3.3.5.1-all-languages.tar.gz
Descompacte o arquivo:
# tar -zxvf phpMyAdmin-3.3.5.1-all-languages.tar.gz
Mova a pasta descompactada para o diretório, renomeando para mysql:
# mv phpMyAdmin-3.3.5.1 /admin/htdocs/mysql
Entre na pasta mysql e verifique o arquivo config.inc.php.
Cheque se estes parâmetros estão de acordo:
/* Authentication type */
$cfg['Servers'][$i]['auth_type'] = 'cookie';
/* Server parameters */
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['compress'] = false;
/* Select mysqli if your server has it */
$cfg['Servers'][$i]['extension'] = 'mysql';
$cfg['Servers'][$i]['AllowNoPassword'] = false;
Após feito entre no link:
http://IPMYAUTH:1881/mysql/
Entre com usuário e senha do root do localhost mysql.
Configurando PhpMyadmin
Entre na url do phpmyadmin:
http://ipmyauth:1881/mysql/
Após o login em modo root, vamos às configurações que irão permitir que o segundo servidor se conecte ao primeiro:
Abra a o menu "Privilégios" e clique em "Adicionar novo usuário".
Preencha os campos da seguinte forma:
- Nome do usuário: auth2
- Servidor: IP do myauth cliente
- Senha: <Sua senha>
Privilégios globais: marque todas e clique em executar.
Logo após esta configuração, devemos liberar no servidor mysql conexões remotas.
Segue o parâmetro:
# vi /etc/rc.d/rc.mysqld
Retire a palavra SKIP:
- /usr/bin/mysqld_safe --datadir=/var/lib/mysql --pid-file=/var/run/mysql/mysq
l.pid $SKIP&
Ficando assim:
/usr/bin/mysqld_safe --datadir=/var/lib/mysql --pid-file=/var/run/mysql/mysq
l.pid &
Salve e reinicie seu servidor mysql.
# /etc/rc.d/rc.mysqld restart
Configurando script para replicar tabela login
Setadas as permissões de conexão, entre no servidor configurado a ser replicado.
Crie e edite o arquivo com seguinte apelido:
# touch /usr/local/bin/replica_banco.sh
# edit /usr/local/bin/replica_banco.sh
Insira o seguinte conteúdo no arquivo:
echo Apagando tabelas
rm -rf /tmp/drop.sql
echo "use admin;" >> /tmp/drop.sql
echo "DROP TABLE login;" >> /tmp/drop.sql
echo "DROP TABLE clientes;" >> /tmp/drop.sql
echo "DROP TABLE groups;" >> /tmp/drop.sql
mysql --user=root --password=senhalocal < /tmp/drop.sql
sleep 2
echo Criando banco.sql
rm -rf /tmp/banco.sql
echo "use admin;" > /tmp/banco.sql ; mysqldump --host=IPDOSERVERPRINCIPAL --user=auth2 --password=senharemota --opt admin clientes login groups >> /tmp/banco.sql
echo Importando dados......
mysql --user=root --password=senhalocal < /tmp/banco.sql
echo Sucesso!!!
Salve o arquivo e crie permissão de execução:
# chmod 777 /usr/local/bin/replica_banco.sh
Agora iremos colocar a importação de forma automática utilizando o crontab do
Linux:
# crontab -e
Coloque estes parâmetros no cron:
00 8 * * * /usr/local/bin/replica_banco.sh
00 10 * * * /usr/local/bin/replica_banco.sh
00 15 * * * /usr/local/bin/replica_banco.sh
00 19 * * * /usr/local/bin/replica_banco.sh
00 21 * * * /usr/local/bin/replica_banco.sh
Pronto, teste manualmente seu script ou aguarde a execução do crond...
Caso apareça alguma mensagem de erro na hora da execução do script, verifique as permissões do phpmyadmin remoto.
Abraços.
Dúvidas: valmeida@idea-planejamento.com
Nenhum comentário foi encontrado.