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

Jak mohu namapovat místní unixový soket na inet soket?

Obraťte pořadí svých argumentů na socat a funguje to.

socat -v tcp-l:6666,reuseaddr,fork unix:/var/lib/mysql/mysql.sock

To dává pokyn socat do

  1. Poslouchejte na portu TCP 6666 (s SO_REUSEADDR )
  2. Počkejte na přijetí připojení
  3. Po navázání spojení rozdvojte. V dítěti pokračujte níže uvedenými kroky. V nadřazeném prvku přejděte na 2.
  4. Otevřete připojení domény UNIX k /var/lib/mysql/mysql.sock zásuvka.
  5. Přeneste data mezi dvěma koncovými body a poté ukončete.

Psaní obráceně

socat -v unix:/var/lib/mysql/mysql.sock tcp-l:6666,reuseaddr,fork

nefunguje, protože to dává pokyn socat do

  1. Otevřete připojení domény UNIX k /var/lib/mysql/mysql.sock zásuvka.
  2. Poslouchejte na portu TCP 6666 (s SO_REUSEADDR )
  3. Počkejte na přijetí připojení
  4. Po navázání spojení se vytvoří podřízený pracovník pro přenos dat mezi těmito dvěma adresami.
  5. Rodič nadále přijímá připojení na druhé adrese, ale první adresu již nemá k dispozici:byla přidělena prvnímu potomkovi. Takže od této chvíle nelze udělat nic užitečného.


  1. Rails 3.2 Postgres Save Error ActiveRecord::StatementInvalid:PG::Error:ERROR:Chyba syntaxe poblíž 'T' na pozici 5

  2. aktualizovat, pokud existují dvě pole, vložit, pokud ne (MySQL)

  3. jak udělat sdružování připojení v Javě?

  4. Při selhání instalace pg gem nemůže mkmf.rb najít hlavičkové soubory pro ruby ​​(Mac OSX 10.6.5)