E aí pessoal, blz?
Eu estou monitorando o tamanho da base de dados do meu Zabbix e percebi que ela está crescendo muito (já disparou o trigger de menos de 20% de espaço livre em disco). Dei uma pesquisada e encontrei que uma das abordagens para esse tipo de problema é implementar o particionamento da base de dados e eu gostaria de tentar fazer isso. No entanto, antes de tentar modificar a base de dados eu gostaria de fazer um backup de como ela está hoje, mas estou tendo alguns problemas com isso...
Eu já fiz um backup a um tempo atrás utilizando o comando mysqldump mas agora não dá mais certo pois eu não tenho espaço suficiente na máquina virtual. Então o que eu pensei em fazer é rodar o mysqldump em uma outra máquina virtual, que tenha espaço suficiente.
Pra ficar mais fácil de entender vou chamar a VM que está rodando o Zabbix de "A" e a VM que gostaria de fazer o dump de "B", sendo que o IP da máquina A é 10.100.100.242 e o IP da máquina B é 10.100.52.5.
1. A máquina A e B conseguem se comunicar (uma consegue pingar a outra);
2. Não existem regras de firewall que estejam bloqueando a comunicação entre elas;
3. Eu já alterei o arquivo mysql.conf da máquina A e alterei o valor do bind-address para 0.0.0.0, possibilitando que ela seja acessada por qualquer IP;
Quando eu rodo o comando "mysqldump -P3306 -h 10.100.100.242 -u zabbix -p zabbix > /home/zabbixbd/zabbixbd.sql" na máquina B eu recebo o seguinte erro:
Eu dei uma pesquisada nesse erro e pelo que li eu devo criar um novo usuário no mysql, ou garantir acesso da máquina B à máquina A, mas é aí que estou travado...
Eu consigo fazer o login no mysql através da máquina A utilizando o comando:
E então utilizo a senha especificada no arquivo de configuração do Zabbix para completar o login. Agora que estou dentro do mysql, quando executo o comando SHOW GRANTS; tenho a seguinte saída:
Portanto o usuário zabbix@localhost pode visualizar todas as tabelas do banco de dados e tem privilégios apenas nas tabelas contendo zabbix no nome, é isso??
Quando eu tento garantir privilégios à máquina B, através dos comandos:
Recebo o seguinte erro na saída:
Eu não entendo muito do mysql mas pelo que pude perceber eu deveria logar como root@localhost pra poder garantir privilégios a outros usuários, porém eu não sei como logar como root, pois só tenho a senha do zabbix@localhost...
Como eu proceder agora???
Valeu pela atenção!
Eu estou monitorando o tamanho da base de dados do meu Zabbix e percebi que ela está crescendo muito (já disparou o trigger de menos de 20% de espaço livre em disco). Dei uma pesquisada e encontrei que uma das abordagens para esse tipo de problema é implementar o particionamento da base de dados e eu gostaria de tentar fazer isso. No entanto, antes de tentar modificar a base de dados eu gostaria de fazer um backup de como ela está hoje, mas estou tendo alguns problemas com isso...
Eu já fiz um backup a um tempo atrás utilizando o comando mysqldump mas agora não dá mais certo pois eu não tenho espaço suficiente na máquina virtual. Então o que eu pensei em fazer é rodar o mysqldump em uma outra máquina virtual, que tenha espaço suficiente.
Pra ficar mais fácil de entender vou chamar a VM que está rodando o Zabbix de "A" e a VM que gostaria de fazer o dump de "B", sendo que o IP da máquina A é 10.100.100.242 e o IP da máquina B é 10.100.52.5.
1. A máquina A e B conseguem se comunicar (uma consegue pingar a outra);
2. Não existem regras de firewall que estejam bloqueando a comunicação entre elas;
3. Eu já alterei o arquivo mysql.conf da máquina A e alterei o valor do bind-address para 0.0.0.0, possibilitando que ela seja acessada por qualquer IP;
Quando eu rodo o comando "mysqldump -P3306 -h 10.100.100.242 -u zabbix -p zabbix > /home/zabbixbd/zabbixbd.sql" na máquina B eu recebo o seguinte erro:
Code:
mysqldump: Got error: 1130: Host '10.100.52.5' is not allowed to connect to this MySQL server when trying to connect
Eu consigo fazer o login no mysql através da máquina A utilizando o comando:
Code:
mysql -u zabbix -p zabbix
Code:
+------------------------------------------------------------+ | Grants for zabbix@localhost | +------------------------------------------------------------+ | GRANT USAGE ON *.* TO 'zabbix'@'localhost' | | GRANT ALL PRIVILEGES ON `zabbix`.* TO 'zabbix'@'localhost' | +------------------------------------------------------------+ 2 rows in set (0.00 sec)
Quando eu tento garantir privilégios à máquina B, através dos comandos:
Code:
GRANT ALL ON *.* to [email protected] IDENTIFIED BY 'password'; GRANT ALL ON `zabbix`.* TO 'root'@'10.100.52.5' IDENTIFIED BY 'password';
Code:
ERROR 1045 (28000): Access denied for user 'zabbix'@'localhost' (using password: YES)
Como eu proceder agora???
Valeu pela atenção!
Comment