No meu último post expliquei alguns fundamentos básicos do ProxySQL. Hoje eu vou falar como podemos importar os usuários do MySQL para o ProxySQL.
Para realizar esta tarefa, vamos usar o proxysql-admin
uma ferramenta criada pela Percona para auxiliar na administração do proxy. Se vocês está utilizando o ProxySQL da percona a ferramenta já vem instalada por padrão, caso contrário, pode baixar diretamente do repositório no Github.
Vamos utilizar a opção --syncusers
que vai se conectar no servidor MySQL indicado, vai buscar todos os usuários na tabela mysql
.user
e vai importar eles para o ProxySQL:
proxysql-admin --cluster-username=[mysql-user] --cluster-password=[mysql-password] --cluster-port=[mysql-port] --cluster-hostname=[mysql-host] --syncusers
A ferramenta foi criada originalmente para aumentar a compatibilidade entre o ProxySQL e o Percona XtraDB Cluster, então a terminologia dosparâmetros e mensagens vão sempre mencionar o cluster, porém a funcionalidade descrita deste post também é 100% compatível com Master Slave.
Aqui vai um exemplo do comando em prática:
$ proxysql-admin --cluster-username=root --cluster-password=sekret --cluster-port=3306 --cluster-hostname=192.168.112.61 --syncusers Syncing user accounts from Percona XtraDB Cluster to ProxySQL Synced Percona XtraDB Cluster users to the ProxySQL database!
Vale lembrar que toda a vez que um usuário é adicionado ou troca a senha, temos que também atualizar este usuário no proxysql. Com o proxysql-admin basta rodar o --syncusers
e a ferramenta se encarrega do resto.