Usuários do MySQL mudaram seu endereço IP. Qual é a melhor maneira de lidar com isso?


22

Eu tenho vários usuários que estão se conectando ao MySQL por meio de uma VPN, então temos concessões ao longo das linhas grant select on foo.* to user@ipaddress1e assim por diante.

Nesta semana, o IP usado na VPN mudou para endereço2 , portanto, as user@ipaddress1concessões não funcionam mais.

Qual é a melhor maneira de lidar com a atualização do usuário e conceder informações no MySQL para refletir essa alteração?

Observe que as concessões são uma bagunça séria, porque alguns usuários são excluídos de colunas específicas em tabelas específicas, portanto, tivemos que fazer concessões em torno dos objetos excluídos.

Respostas:



3

Basta atualizar o campo host na tabela do seu usuário:

update mysql.users set Host = newIP where Host = oldIP;
flush privileges;

Tentei isso: não funciona se houver subsídios.
CJC

OH ... boa ligação. Minha culpa.
JDW

Isso deve funcionar bem, você só precisa executar a flush privilegesinstrução depois de manipular manualmente qualquer uma das tabelas de privilégios.
Zoredache

2

Se você possui uma sub-rede dedicada para os usuários da VPN, a seguinte sintaxe funciona bem.

GRANT ALL ... user_name@'192.168.1.%'

Isso não ajuda com os usuários existentes em um IP específico. Ainda teríamos que refazer todas as subvenções, mesmo se usarmos um intervalo da próxima vez.
CJC

Você pode atualizar os usuários existentes com a mesma sintaxe.
Tim Brigham
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.