Não é possível conectar-se ao servidor MySQL a partir do aplicativo Java

1

Isso está no servidor VPS \ Centos. O servidor MySQL é pré-configurado.

Estou executando o aplicativo Java no Tomcat

Meu aplicativo da web Java não consegue se conectar ao servidor MySQL.

Eu recebo um erro -
"Causado por: java.net.ConnectException: Conexão recusada"

Eu suspeito que isso seja um problema de configuração em vez de um problema de codificação - por isso eu postei isso no ServerFault
E sim, o mesmo aplicativo da web é capaz de se conectar ao MySQL em uma caixa de linux diferente

Esta é a URL que eu forneci para o meu aplicativo Java (note-se assume porta padrão)

url="jdbc: mysql: // localhost / pickupgames"

Minha primeira suspeita foi de que estou executando em uma porta não padrão | Então eu tentei encontrar a porta onde o servidor mySQL está sendo executado

Eu tentei todos os truques mencionados em Como verificar qual porta o mysql está rodando
Mas sem sorte!

MOSTRAR VARIÁVEIS GLOBAIS COMO 'PORT';
Isso mostra a porta 0

netstat -tlnp não mostra o mysql em tudo

/etc/my.cnf Não tem entrada de porta

telnet localhost 3306 Não conecta

E caso você esteja se perguntando se o servidor mysql está rodando ou não Isto é E eu sei com certeza, porque eu consegui logar usando o comando mysql Também

# ps -ef | grep 'mysql'
root 31839 27662 0 00:49 pts / 3 00:00:00 grep mysql
root 32452 1 0 Apr02? 00:00:00 / bin / sh / usr / bin / mysqld_safe - skip-grant-tables - skip-networking
mysql 32504 32452 0 de abril de 2002? 00: 00/06 / usr / libexec / mysqld --basedir = /usr --datadir = /var/lib/mysql --user = mysql --pid-file = / var / run / mysqld / mysqld.pid - skip-external-locking - socket = / var / lib / mysql / mysql.sock - skip-grant-tables - skip-networking

Por favor, note o - parâmetro skip-networking
Isso tem algo a ver com a questão?

mysql > SELECT HOST, USER do mysql.user onde user = 'admin';
+ ----------- + ------- +
| HOST | USER |
+ ----------- + ------- +
| localhost | admin

+ ----------- + ------- +

O acima tem alguma influência?

Alguma explicação porque eu não consigo conectar ao servidor mysql na porta 3306 por telnet?

Ou por que o docent aparece sob o netstat?

Alguma sugestão em que eu deveria tentar em seguida?

    
por RN. 03.04.2010 / 14:56

2 respostas

1

Please note the --skip-networking parameter

Sim, muito provavelmente, a causa do problema. Remova o skip-networking e adicione "bind-address = 127.0.0.1" em my.cnf.

Eu acho que java conecta via rede apenas e não usa conexões de soquete, que é o que você faz com as ferramentas mysql cli.

    
por 03.04.2010 / 15:23
0

The MySQL server is pre configured.

Isso é quase o mesmo que não configurado. A segurança será ruim, o SQL MODE será ruim, o desempenho será ruim, não estará pronto para produção nem testes.

Comece a ler o manual e crie uma boa configuração. E não se esqueça dos backups, o mysqldump também precisa de ajustes. Por padrão, ele não faz backup de visualizações, procedimentos armazenados e eventos. Não conte com eles, a menos que você tenha testado seus backups.

    
por 05.04.2010 / 11:14