Dica velha que de vez em quando é necessário relembrar, por isso vou deixar registrado aqui para não ter que ficar procurando no google sempre que precisar.
Executar todos os passos abaixo como root:
1 – Edite o arquivo:
/etc/mysql/my.cnf
/etc/mysql/my.cnf
2 – Altere a seguinte linha:
bind-address = 127.0.0.1
Deixando assim:
bind-address = 0.0.0.0
bind-address = 127.0.0.1
Deixando assim:
bind-address = 0.0.0.0
3 – Reinicie o Mysql
# /etc/init.d/mysql restart
# /etc/init.d/mysql restart
4 – Vamos agora dar GRANT no usuário root, logue no mysql:
# mysql -u root -p
# mysql -u root -p
5 – Após se logar, digite o seguinte comando:
GRANT ALL ON *.* TO root@'%' IDENTIFIED BY 'sua_senha';
GRANT ALL ON *.* TO root@'%' IDENTIFIED BY 'sua_senha';
Dessa forma você libera o acesso ao seu servidor Mysql vindo de qualquer máquina externa, caso queira liberar somente o acesso da sua máquina, é só verificar qual é seu IP e entrar com o comando:
GRANT ALL ON *.* TO root@'192.168.0.2' IDENTIFIED BY 'sua_senha';
6. Após isso, basta dar uma reiniciada novamente no Mysql e realiazar a conexão remota.
# /etc/init.d/mysql restart
# /etc/init.d/mysql restart
====================================================
Caso você queira desfazer o acesso remoto é bem simples também.
1 – Altere a seguinte linha:
bind-address = 0.0.0.0
Deixando assim:
bind-address = 127.0.0.1
bind-address = 0.0.0.0
Deixando assim:
bind-address = 127.0.0.1
2. Logue no Mysql:
# mysql -u root -p
# mysql -u root -p
3. Delete todos os privilégios remotos:
DELETE FROM mysql.user WHERE User = 'root' AND Host = '%';
FLUSH PRIVILEGES;
DELETE FROM mysql.user WHERE User = 'root' AND Host = '%';
FLUSH PRIVILEGES;
4. Reinicie o Mysql e pronto, não estará mais acessível remotamente.
Ola amigo infelizmente meu freebsd versao 10
ResponderExcluirnão tem o arquivo my.cnf no diretorio /etc/mysql/my.cnf
eu o encontrei em /usr/local/share/mysql/my.cnf
e também não tinha a linha
bind-address = 127.0.0.1
eu peguei e adicionei no caso a linha
bind-address = 0.0.0.0
coloquei a permissão pelo SQL deu certinho
mas não conseguir acessar de outra maquina pela rede
será que o arquivo my.cnf que achei /usr/local/share/mysql/my.cnf
está errado?
ou tem ele em outro diretório, sou iniciante no freebsd, abraços
Boa tarde Hugo,
ExcluirNo freebsd a pasta padrão dos arquivos de exemplo do freebsd é "/usr/local/share/mysql" , já os arquivos que o banco realmente gerencia está localizado em "/var/db/mysql", provavelmente o arquivo my.cnf configurado lá deve sem o parâmetro "bind-address = 0.0.0.0". Configurando isso, vai funcionar tudo normalmente.
Abs,
Emerson
Como eu verifico se um servidor permite acesso remoto?
ResponderExcluir