sql >> Databáze >  >> RDS >> Mysql

Připojení Tomcat/Hibernate k MySql se nezdaří se selháním komunikačního spojení a odepřením povolení

Právě jsem také tento problém sledoval. Moje příznaky byly úplně stejné jako ty a dokonce jsem zkusil přesně ty věci, které jsi zkoušel ty. Stručně řečeno, můj problém nastal pouze proto, že jsem používal tomcat na centos se SELinuxem.

Někteří lidé mi pomohli diagnostikovat pomocí následujících příkazů, aby se podívali na události zabezpečení a proč nebyly některé akce povoleny:

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

Viděl jsem záznamy jako:

A pak jsem našel tento článek o kocourcích a SELinuxu https://noobient.com/post/165972214381/selinux-woes-with-tomcat-on-centos-74

Můžete spustit následující příkaz a zjistit, zda je tomcat spuštěn v kontextu zabezpečení tomcat_t.

$ps auxZ | grep tomcat

Pro účely skutečného určení, zda moje chyba byla SELinux, jsem zakázal SELinux

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

restartoval můj počítač a viděl, že kocour nyní vytváří odchozí připojení.

Super, teď už aspoň vím, PROČ se to stalo. Samozřejmě, pokud potřebujete SELinux, jeho zakázání NENÍ řešením. Dalším řešením, které pravděpodobně není řešením, je nainstalovat kocour bez procházení yum. Yum nainstaluje kocour pomocí kontextu zabezpečení.

Myslím, že nyní je třeba upravit kontext zabezpečení nebo sadu pravidel, jimiž se kocour řídí, aby mohl vytvářet odchozí připojení.



  1. Jak převést data BLOB v MYSQL na Android ImageView

  2. Získejte ID řádku, když je porušen UNIQUE KEY

  3. Počítejte výskyty dílčího řetězce ve sloupci MySQL

  4. Výkon vkládání databáze