sql >> Database >  >> RDS >> Mysql

Tomcat / Hibernate-verbinding met MySql mislukt met mislukte communicatielink en toestemming geweigerd

Ik heb dit probleem zojuist ook opgespoord. Mijn symptomen waren precies dezelfde als die van jou en ik heb zelfs precies de dingen geprobeerd die je probeerde. Samengevat, mijn probleem deed zich alleen voor omdat ik Tomcat op centos gebruikte met SELinux.

Sommige mensen hebben me geholpen een diagnose te stellen met behulp van de volgende commando's om naar beveiligingsgebeurtenissen te kijken en waarom sommige acties niet waren toegestaan:

sudo ausearch -m avc
sudo grep "tcp_socket" /var/log/audit/audit.log | audit2why // translates log into some human readable reasons why the audit record was generated

Ik zag berichten als:

En vond toen dit artikel over Tomcat en SELinux https://noobient.com/post/165972214381/selinux-woes-with-tomcat-on-centos-74

U kunt de volgende opdracht uitvoeren om te zien of tomcat wordt uitgevoerd in de beveiligingscontext tomcat_t.

$ps auxZ | grep tomcat

Om echt te kunnen bepalen of mijn fout SELinux was, heb ik SELinux uitgeschakeld

$ sestatus // shows: SELinux status:                 enabled
$ sudo vim /etc/selinux/config // set "SELINUX=disabled"
$ sudo shutdown -r now
$ sestatus // shows: SELinux status:                 disabled

startte mijn machine opnieuw op en zag dat Tomcat nu de uitgaande verbinding maakte.

Geweldig, nu weet ik tenminste WAAROM dat gebeurde. Als je SELinux nodig hebt, is het uitschakelen natuurlijk GEEN oplossing. Een andere oplossing die waarschijnlijk geen oplossing is, is om Tomcat te installeren zonder door yum te gaan. Yum zal Tomcat installeren met behulp van de beveiligingscontext.

Ik denk dat de manier waarop we nu moeten handelen is om de beveiligingscontext of reeks regels voor de kater aan te passen, zodat deze uitgaande verbindingen kan maken.



  1. MySQL Recursief krijgt alle kinderen van de ouder

  2. MySQL - scheidingsteken voor duizendtallen

  3. Oproep naar opgeslagen procedure , wanneer procedurenaam in een variabele in mysql

  4. Voeg rijen in dezelfde id samen in een array