Página 1 de 1
MySQL: liberação de porta para acesso externo
Enviado: 28 Out 2020 10:19
por cjp
Pessoal, contratei um novo servidor, instalei o MySQL nele, mas não estou conseguindo acessá-lo externamente.
O provedor me disse que eu preciso liberar a porta para acesso externo, mas não estou conseguindo fazer isso.
Lembro de já ter feito isso antes, tempos atrás, mas foi em outro provedor, que era diferente.
Achei na internet os seguintes links explicando como fazer:
https://www.hostinger.com.br/tutoriais/ ... oto-mysql/ e
https://serverfault.com/questions/52794 ... sing-xampp.
Mas não estou achando o my.cnf no servidor. Também não tenho o PHPMyAdmin nem o Xampp instalados.
Alguém poderia me ajudar nisso?
MySQL: liberação de porta para acesso externo
Enviado: 19 Jan 2022 11:34
por dbsh
Não sei se você resolveu o problema, como não vi resposta vou postar mesmo que já tenha se passado algum tempo, para que se outros tiverem o mesmo problema.
Crie um usuario no MySQL para acesso externo se não tiver, "%";
Código: Selecionar todos
CREATE USER IF NOT EXISTS 'root'@'localhost' IDENTIFIED BY 'root';
CREATE USER IF NOT EXISTS 'root'@'%' IDENTIFIED BY 'root';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY 'root' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
FLUSH PRIVILEGES;
# desmarcar com docker
# SET GLOBAL sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));
# SET SESSION sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));
Rode este script BAT, para liberar o acesso externo a porta 3306
Código: Selecionar todos
@echo.
@echo -- Banco de Dados Mysql
@echo.
netsh advfirewall firewall delete rule name=all protocol=tcp localport=3306
netsh advfirewall firewall delete rule name="MYSQL"
if /I "%1"=="-D" goto :eof
netsh advfirewall firewall add rule name=MYSQL dir=in action=allow protocol=TCP localport=3306
netsh advfirewall firewall add rule name=MYSQL dir=out action=allow protocol=TCP localport=3306
Rode este script BAT, para liberar ping na maquina
Código: Selecionar todos
@echo.
@echo -- PING
@echo.
:: netsh advfirewall firewall delete rule name=all protocol=tcp localport=
netsh advfirewall firewall delete rule name="pingv4"
netsh advfirewall firewall delete rule name="pingv6"
if /I "%1"=="-D" goto :eof
netsh advfirewall firewall add rule name=pingV4 protocol=icmpv4:8,any dir=in action=allow
netsh advfirewall firewall add rule name=pingV6 protocol=icmpv6:8,any dir=in action=allow
Em outro computador veja se consegue pingar no computador com MySQL
Em outra maquina abra um Prompt de comando e execute
PING ip.da.maquina.com.mysql
EX:
PING 192.168.1.12
MySQL: liberação de porta para acesso externo
Enviado: 19 Jan 2022 12:23
por cjp
Agradeço tua resposta.
Já tinha resolvido, não lembro como.
Mas é bom que tua instrução fique aqui registrada, para quando eu ou alguém tiver problema semelhante.
MySQL: liberação de porta para acesso externo
Enviado: 19 Jan 2022 14:30
por JoséQuintas
Entendi direito ou a rotina libera geral pra invasão?
É......
Porque root é o administrador, o que tem mais poderes no banco de dados, não se libera pra acesso externo....
E muito menos root com senha root, deve ser o primeiro teste de um hacker...
Mas, se root tem acessso geral, porque tentar mudar os acessos de root?
É tentar bloquear o dono?
Sei lá.....
Acho que não entendi foi nada.....
MySQL: liberação de porta para acesso externo
Enviado: 19 Jan 2022 15:01
por dbsh
Usuario e senha pode ser qualquer um, usei root somente para efeito didatico
o que importa e o "%", que deixa ter acesso remoto, de qualquer ip
se vai acessar remotamente um DB na nuvem, tem que ter "%", para suporte remoto, ou tem que acessar o serviço localmente sempre que quiser fazer um suporte/alteração
EX:
Código: Selecionar todos
CREATE USER IF NOT EXISTS 'usuario_local'@'localhost' IDENTIFIED BY 'senha_local';
CREATE USER IF NOT EXISTS 'usuario_remoto'@'%' IDENTIFIED BY 'senha_remoto';
GRANT ALL PRIVILEGES ON *.* TO 'usuario_local'@'localhost' IDENTIFIED BY 'senha_local' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO 'usuario_remoto'@'%' IDENTIFIED BY 'senha_remoto' WITH GRANT OPTION;
//somente select,isert,update
CREATE USER IF NOT EXISTS 'usuario_cliente1'@'%' IDENTIFIED BY 'senha_cliente1';
GRANT SELECT, INSERT, UPDATE ON db.* 'usuario_cliente1'@'%' IDENTIFIED BY 'senha_cliente1';
FLUSH PRIVILEGES;
# desmarcar com docker
# SET GLOBAL sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));
# SET SESSION sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));
MySQL: liberação de porta para acesso externo
Enviado: 19 Jan 2022 18:12
por JoséQuintas
dbsh escreveu:Usuario e senha pode ser qualquer um, usei root somente para efeito didatico
É que muitas vezes a pessoa fica com medo de fazer errado, e copia exatamente como foi colocado, porque acha que qualquer coisa diferente não vai funcionar.
Cuidado com os exemplos.
MySQL: liberação de porta para acesso externo
Enviado: 10 Fev 2022 20:52
por carlos moc
o mysql usa a porta 3306 !!
MySQL: liberação de porta para acesso externo
Enviado: 20 Fev 2022 10:59
por dbsh
Por padrão sim, a menos que você informe outro na instalação ou no arquivo
Windows: my.ini
Linux: my.cnf ou config-files.cnf
na pasta onde fica os dados do MySQL
MySQL: liberação de porta para acesso externo
Enviado: 11 Abr 2022 18:29
por carlos moc
O mysql utiliza a porta 3306, libere ela no firewall
crie as regras de entrada e saida
MySQL: liberação de porta para acesso externo
Enviado: 12 Abr 2022 11:33
por Fernando queiroz
qual o provedor???
se for o HOSTINGER posso te ajudar pois tenho instalado o MYSQL lá com acesso externo